用java编写一个程序求1!+2!+....10!

如题所述

用Java编程写程序求1!+2!+....10!,只需用两个循环层,第一个循环是阶乘值相加,第二个循环是获取阶乘值,如下:

public class TestD {
public static void main(String[] args){

//1!+2!+3!+···+10!就是1到10阶乘值的和
int sum=0;
//循环10次
for(int x=1;x<=10;x++){
//阶乘初始值设置为1
int jiecheng=1;
//循环x次
for(int y=1;y<=x;y++){
//阶乘上一个值和当前y值相乘重新赋值给阶乘
jiecheng=y*jiecheng;
}
//各个阶乘值相加
sum+=jiecheng;
}
//1~10阶乘值求和
System.out.println("1!+2!+3!+···+10!="+sum);
}
}

结果:
1!+2!+3!+···+10!=4037913

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-06
public class jiecheng {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub


long s;
s=0;
for(int i=1;i<=10;i++)
{
s+=f(i);
System.out.print(f(i)+"\r");
}
System.out.print("s=\r"+s);
}
public static int f(int x){
if(x<=1){
return 1;
}
else{
return x*f(x-1);
}

}
}

本回答被网友采纳
第2个回答  2015-09-06

    我只贴给你关键代码,想要更多自己去学。这个编程方式叫递归,阶乘也是入门问题。

    public int factorial(int n){
        if(n == 0) return 1;


    return n * factorial(n - 1);

    }

    }

相似回答