关于JAVA相关的问题,求解阶乘的算法的分析?

class jie
{
public static void main(String args[])
{
long sum = 0;
int i;
for(i=1;i<=10;i++)
{
long ji = 1;
int j;
for(j=1;j<=i;j++)
{
ji *= j;
}
sum += ji;
}
System.out.println("结果是:"+sum);
}
}

这是关于10!+9!+8!+7!+6!+5!+4!+3!+2!+1!的,
我很不理解,
哪位老师可以帮我解释一下,
我的QQ是234436829,
谢谢!

守着星空守着你
浏览 322回答 2
2回答

缥缈止盈

第一个for循环是求和第二个是求阶乘这样看更易理解class jie{private static int ji(int i){int ji=1;for(int j =1;j<=i;j++)ji*=j;return ji;}public static void main(String args[]){long sum = 0;int i;for(i=1;i<=10;i++)sum += ji(i);System.out.println("结果是:"+sum);}}还可以这样:(用递归的方法)class jie{private static int ji(int i){if(i>1){return i*ji(--i);}else{return i;}}public static void main(String args[]){long sum = 0;int i;for(i=1;i<=10;i++)sum += ji(i);System.out.println("结果是:"+sum);}}
打开App,查看更多内容
随时随地看视频慕课网APP