java编写 利用while循环语句,计算1!+2!+3!+…+20!的总和

如题所述

class Test_08 {

 public static void main(String[] args) {

  long result = 0;

  for (int i = 1; i <= 20; i++) {

   long mul = 1;

   for (int j = 1; j <= i; j++) {

    mul *= j;

   }

   result += mul;

  }

 System.out.println("1!+2!+3!+4!+5!+。。。。+20!=" +result);

 }

}

第二种做法:

class Test_08 {

 public static void main(String[] args) {

  long i;

  long j = 1;

  long sum = 0;

  for (i = 1;i <= 20;i++) {

   j = j * i;

   sum = sum + j;

  }

  System.out.println(sum);

 }

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-15
呵呵,你知道阶乘的,他其实就是这样的,比如1/24就可以写成(1/2)*(1/12)这样吧,a=a*(1/i)就可以理解成这样子,第一个是1,第二个就是1*(1/2)结果就是0.5下来呢,就是0.5*(1/3)这个呢就等于是(1/2)*(1/3)也就等于是1/3的阶剩了呀,你说对不,一直循坏到结果,这样理解了吧. 在不理解可以问我,我在线.
第2个回答  2011-06-15
public class Sum {
public static void main(String args[]){
int i,j,sum=0;r=1;
while(i<=20){
for(j=1;j<=i;j++){
r=r*i;
}
sum+=r;
i++;
}
System.out.println(" "+sum);
}
}本回答被提问者采纳
相似回答