用java语言求出 result = 1!+2!+3!+4!+5!+6!+7!+8!+9!+10!(阶层)的和,拜托各位大哥大姐了

如题所述

public class Test {
public static void main(String args[]){
int re = 0;
for(int i =1;i<=10;i++){
int r = 1;
for(int j = 1;j<=i;j++){
r = r*j ;
}
re = re + r;
}
System.out.println("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!="+re);
}
运行结果:
1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=4037913追问

可以帮我全部注释上吗,我想懂多一点

追答

public class Test {
public static void main(String args[]){
int re = 0;//定义一个存储和的变量
for(int i =1;i<=10;i++){//循环做1至10的阶乘
int r = 1;//定义一个存储阶乘结果的变量
for(int j = 1;j<=i;j++){//阶乘循环
r = r*j ;//获得每个阶乘结果
}
re = re + r;//依次从1!加到10!
}
System.out.println("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!="+re);
}
你可以慢慢看,用三的阶乘放到程序里试一下,你可以更快一点明白...

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-24
public class Ten {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(sumFact(10));
}

/**
* 求阶乘和的方法
* 如sumFact(10)就返回1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的值
* @param num
* @return
*/
public static long sumFact(int num) {
long sum = 0;
for(int i = 1; i <= num; i++) {
long sumIn = 1;
for(int j = 2; j <= i; j++)
sumIn *= j;
sum += sumIn;
}
return sum;
}

}
第2个回答  2011-02-24
public class test {
public static void main(String[] args) {
System.out.print("1!+2!+3!+4!+.....+10!为:" + totalFactorial(10));
}

private static int totalFactorial(int n) {
int total = 0;//总和
int fac = 1;//阶乘
for (int i = 1; i <= n; i++) {
fac *= i;
total += fac;
}
return total;
}
}
运行结果:
1!+2!+3!+4!+.....+10!为:4037913
此例在JDK1.5中测试通过;
第3个回答  2011-02-24
sum=0;
p=1;
for(int i=1;i<=10;i++){
for(int j=1;j<=i;j++){
p=p*j;
}
sum=sum+p;
}
sum就是答案喽
第4个回答  2011-02-24
int total = 0;
int cnt = 10;
for(int i = 1 ; i < cnt + 1 ; i++)
{
int temp = 1;
for(int j = 1 ; j <= i ; j++)
{
temp *= j;
}
total += temp;
}
System.out.println(total);