介乘算法不理解
来源:2-5 有参有返回值的方法
小刘萱
2020-11-27 21:19:37
# 具体遇到的问题
s*=i;这个我不算是很理解,,i代表的是什么呀s=s*i又是求得什么呀,s不是阶乘的结果吗
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
2回答
同学你好,阶乘是指所有小于及等于该数的正整数的积。例如4的阶乘为:4!=1*2*3*4。
s*=i相当于s=s*i;
这里的i是指当前数值,s存放阶乘的计算结果。s=s*i计算的是之前阶乘结果和当前数值的乘积。
例如当i=为1时,s=1,s=s*i=1,
当i=2时,s=1,s = s*i = 2,
当i=3时,s=2,s=s*i = 2*3 = 6
当i=4时,s=6,s = s*i = 6*4 =24
祝学习愉快~
tttjh_
2020-11-28
for(int i = 1; i < n; i++) {
s = 1
s *=i; // 你可以代入i的值理解一下,s=1 * 1 s=1 * 2 s = 2 * 3 s = 6 * 4 你看现在是不是算好4的阶乘
}
相似问题