Copy code
section .data
result db 1 初始化结果为1
section .text
global _start
_start:
mov ecx, 10 使用ecx寄存器计数
cmp ecx, 0 检查10是否为0,是则跳过循环
je done
loop:
mul byte[result] 乘以目前的结果
dec ecx 计数器减1
cmp ecx, 0 如果计数器为0,则跳出循环
jne loop
done:
结束程序
mov eax, 1系统调用号1代表退出
xor ebx, ebx 返回值为0
int 0x80 执行系统调用
以上程序将10的阶乘计算在result变量中。由于10的阶乘为一个很大的数,需要使用一个64位变量来保存结果,但由于使用了单字节变量作为示例,仅适用于小型数据输入。
//5. 用循环程序求10的阶乘。(3628800)
public class Demo05{
public static void main(String[] args){
//10的阶乘
// result = 1*2*3*4*5...*10
int result = 1
for(int i = 2i<=10i++){
result *= i
}
System.out.println("10的阶乘结果为:"+result)
}
}
10的阶乘的结果为:3628800。
#include<stdio.h>
int main(){
int i=1,sum=1
while(i<=10){
sum*=i
i++
}
printf("10的阶乘%d\n",sum)
return 0
}
扩展资料:
while语句的语法:
1、do <语句>while(<条件>)
2、while(<条件>) <语句>
while语句的一般表达式为:while(表达式){循环体}。
while与do while的区别
假设条件表达式一开始就是不成立的。
while结构的循环体一遍也不会运行。
do…while结构的循环体运行了一遍。
循环语句是根据循环条件反复执行相同的语句,直到循环条件不成立。
利用do while循环的特点,可写出菜单程序。
参考资料来源:百度百科-循环语句
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)