第1个回答 2008-10-31
public class Main{
public static void main(String[] args){
int n=Integer.parseInt(args[0]);
double sum=0;
for(int i=1;i<=n;i++){
sum+=factorial(i);
}
System.out.println("Result:"+sum);
}
public static double factorial(int n){
if(n==1) return 1;
else return n*factorial(n-1);
}
}
第2个回答 2008-10-31
int s=0;
for(int i=1;i<=n;i++)
{
int r=0;
for(int j=1;j<=i;j++)
{
r=r*j;
}
s+=r;
}
System.out.println(s);
第3个回答 2008-10-31
这道题用递归的方法很容易明白,以n=5为例,已测试过的程序如下:
public class Digui {
public static int sss(int n){
int result = 0;
if(n==1){
result=1;
}else{
int sa=1;
for(int i=1;i<n+1;i++){
sa=sa*i;
}
result = sss(n-1)+sa;
}
return result;
}
public static void main(String[] args) {
int sssss = sss(5);
System.out.println(sssss);
}
}
当然,也可以把n改为输入方式计算结果,这里不再赘述