关于JAVA阶乘的算法的解释

来源:百度知道 编辑:UC知道 时间:2024/06/24 12:25:03
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,
谢谢!

追加100分!

//程序要能运行就必须用 public 修饰
public class jie
{
//程序入口
public static void main(String args[])
{
//定义变量sum用来保存阶乘的结果的和
long sum = 0;
//定义变量i
int i;
//这是外循环,变量i的值从1向10递增,
for(i=1;i<=10;i++)
{
//定义变量ji用来保存某个数的阶乘结果
long ji = 1;
//定义变量J
int j;
//这是内循环,变量j将从1向i递增
for(j=1;j<=i;j++)
{
//当j=1时 JI=JI*J=1*1=1;
//当J=2时 JI=JI*J=1*2=2;
//当J=3时 JI=JI*J=2*3=6
//当J=4时 JI=JI*J=6*4=24
//以此类推直到 J=I 时,循环结束...
ji *= j;//这行程序等效于: ji=ji*j;
}
//总和加上刚才某个数的阶乘的结果
sum += ji;//这行程序等效于: sum=sum+ji;
}
//打印输出结果
System.out.println("结果是:"+sum);
}
}

第一个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&l