黑马程序员技术交流社区

标题: 求1+2!+3!+...+20!的和 [打印本页]

作者: liuzegang    时间: 2016-2-6 20:02
标题: 求1+2!+3!+...+20!的和
求1+2!+3!+...+20!的和

作者: JamesFeng    时间: 2016-2-6 21:01
for(int i=1;i<21;i++)
作者: JamesFeng    时间: 2016-2-6 21:07
标题: RE: 求1+2!+3!+...+20!的和
上一条还没写完,按错了,不小心发出去了,sorry!
试下下面的代码可不可以吧
int i,j,a,b;
a=0,b=1;
for(i=1;i<21;i++)
{
for(j=i;j>0;j--)
   {
        b*=j;
   }
   a+=b;
}
作者: liuzegang    时间: 2016-2-7 12:32
非常感谢
作者: 陈梦佳    时间: 2016-2-7 13:50
本帖最后由 陈梦佳 于 2016-2-7 13:57 编辑

public class Jiechen {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                double sum=0;                                  //定义一个sum来存放最后的计算结果
                for (int i = 1; i <= 20; i++) {             //循环计算1+2!+3!+...+20!的和
                        sum=sum+sum(i);                   //当前阶乘数加上上一次计算的和就为本次的求和
                        
                }
               
                System.out.println("1+2!+3!+...+20!="+sum);      
        
        }

        
        public static double sum(double num) {   //此方法用于递归计算一个数的阶乘
                // TODO Auto-generated method stub
                if (num==1) {                                   //1的阶乘为1
                        return 1;
                        
                }else{
                return num*sum(num-1);             //本次数乘以上一个数的阶乘
                }
                        
                }
        }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2