如何用for循环求10的阶乘?

如何用for循环求10的阶乘?,第1张

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

}

运行结果如下图:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12474964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存