/*
题目:求1+2!+3!+...+20!的和
*/
/*
分析:求阶乘,用递归。注意结果超过了int的范围,使用long类型接收。
*/
class JieChengQiuHe {
public static void main(String[] args) {
System.out.print("1+2!+3!+...+20!的和是");
long sum=0;
for (int i=1; i<=20; i++){
sum+=jieCheng(i);
}
System.out.println(sum);
}
public static long jieCheng(int num){
long result=0;
if (num==1 || num==0){
result=1;
}else if(num>1){
result=num*jieCheng(num-1);
}
return result;
}
}
/*
输出结果
1+2!+3!+...+20!的和是2561327494111820313
*/
作者: 乐闻 时间: 2015-9-26 18:29
加油作者: shadowlight 时间: 2015-9-26 18:29
加油,赞作者: 348480115 时间: 2015-9-26 18:34
楼上抢我沙发-- ~作者: ll5353231 时间: 2015-9-26 18:43
支持一下!!!!!!!!!!!作者: TheOnly 时间: 2015-9-26 18:47
支持一下,一起加油作者: 阿秋 时间: 2015-9-28 21:26
class A {
public static void main(String[] args) {
long[] arr=new long[21];
for (int x=1;x<=20 ;x++ ) {
long sum=1;
for (int y=1;y<=x ;y++ ) {
sum=sum*y;
}
arr[x]=sum;
}
long max=0;
for (int x=1;x<=20 ;x++ ) {
max+=arr[x];
}
System.out.println("和为"+max);
}
}作者: 往事如风555 时间: 2015-9-28 22:06
谢谢分享