java 求1~10阶乘的和!谁能帮我解释一下,为什么一定要多定义一个变量j...
发布网友
发布时间:2024-10-06 09:06
我来回答
共1个回答
热心网友
时间:2024-10-07 00:23
你只要稍微分析2个数字的阶乘你就明白了
算法1
当i=1, result = 0, j = 1;进入循环后 j = 1! result = 1! = 1
当i = 2, result = 1!, j=1, 进入循环j = 2 * j = 2=2!, result = 1! + 2! =3
明显算法1是用j来保存数字n!, 通过result 来累计和,变量功能很明显,条理很清楚。
算法2
当i =1, result = 1;进入循环 result = 1 * 1 = 1; result += 1
当i=2, result =1,进入循环 result = 2 *1 = 2; result = 1+2
当i=3, result = 3,进入循环result = 3*3 = 9, result = 3+9 = 12
而3! +2!+1! = 6+2+1 = 9...