public class 计算数字10的阶乘 {public static void main(String[] args) {int sum = 1for(int i = 1i <= 10i++){sum = sum * i }System.out.println(sum)}}。
例如5的阶乘就是 1*2*3*4*5;
就是从1乘到它本身;
所以10的阶乘就很好写了;
观察竖卜上面数字发现 2比1大1 3比2大1 ;
所以每次i++自加1 都会比自加前i的大1 ;
利用此思路我们开始写代码;
for(int i = 1i <= 10i++);
i第一次循环厅旁i是2 第扮纤橡二次循环2是2 ;
每次循环的时候我们都执行 sum * i;
第一次是sum*1 第二次sum*2 第三则*3;
依次类推;
直到最后一次满足小于10的这个条件 执行最后一次 *10则为阶乘了;
这里要注意的sum不能为0 因为 0乘以任何一个数字结果都等于0;
所以要赋值为1。
for的循环介绍:
for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式条件表达式末尾循环体){中间循环体;}。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。
用matlab设计程序如下:
for i=1:10
sum=1
for j=1:i
sum=sum*j
end
sum
end
运行结果显示,1到10的阶乘分别是: 1、稿者2、 6、 24、120、 720、5040、40320、362880 、3628800。
运行结果如图:
扩展资料
MATLAB中for循环的语法是 -
for index = values
...end。
其中,values的值取如下格式森滚:此敬余
只乎唤用一个for循环,int型计宽顷蠢数变量i从1步长为1变化到10,用一个初值为1的int型变量s记录s与慎陪i的乘积,s就是对应的i的阶乘——这样做可省去每次求阶乘的很多重复乘法 *** 作,时效大为提高。代码如下:
#include "stdio.h"int main(int argc,char *argv[]){
int i,s
for(s=i=1i<=10i++)
printf("%2d! = %d\n",i,s*=i)
return 0
}
运行结果如下图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)