欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java计算1-n个数阶乘的和,,import java.

来源: javaer 分享于  点击 34454 次 点评:44

Java计算1-n个数阶乘的和,,import java.


import java.math.BigInteger;  public class Test02{      /**      * 计算从1到n个数的阶乘的总和      * @param s      * @return      */      public static BigInteger summation(int n){          BigInteger sum = new BigInteger("0");          if(n <= 1) return BigInteger.ONE;    //因0!= 1  所以 n <= 1 时返回 1          for(int i=1; i<=n; i++){                       sum = sum.add(factorial(i));          }          return sum;      }      /**      * (递归)计算 n 的阶乘      * @param n      * @return sum      */      public static BigInteger factorial(int n){                if(n > 0){                         return BigInteger.valueOf(n).multiply(factorial(n-1));          }else{      //因0!= 1   所以 n <= 1 时返回 1              return BigInteger.ONE;          }      }      public static void main(String[] args){          for(int i=1; i<=30; i++){              System.out.println(i + " 的阶乘 = " + factorial(i));          }          for(int i=1; i<=30; i++){              System.out.println("从1到" + i + "的阶乘的总和  = " + summation(i));          }                     }  } 
                                运行结果
运行结果:1 的阶乘 = 12 的阶乘 = 23 的阶乘 = 64 的阶乘 = 245 的阶乘 = 1206 的阶乘 = 7207 的阶乘 = 50408 的阶乘 = 403209 的阶乘 = 36288010 的阶乘 = 362880011 的阶乘 = 3991680012 的阶乘 = 47900160013 的阶乘 = 622702080014 的阶乘 = 8717829120015 的阶乘 = 130767436800016 的阶乘 = 2092278988800017 的阶乘 = 35568742809600018 的阶乘 = 640237370572800019 的阶乘 = 12164510040883200020 的阶乘 = 243290200817664000021 的阶乘 = 5109094217170944000022 的阶乘 = 112400072777760768000023 的阶乘 = 2585201673888497664000024 的阶乘 = 62044840173323943936000025 的阶乘 = 1551121004333098598400000026 的阶乘 = 40329146112660563558400000027 的阶乘 = 1088886945041835216076800000028 的阶乘 = 30488834461171386050150400000029 的阶乘 = 884176199373970195454361600000030 的阶乘 = 265252859812191058636308480000000从1到1的阶乘的总和  = 1从1到2的阶乘的总和  = 3从1到3的阶乘的总和  = 9从1到4的阶乘的总和  = 33从1到5的阶乘的总和  = 153从1到6的阶乘的总和  = 873从1到7的阶乘的总和  = 5913从1到8的阶乘的总和  = 46233从1到9的阶乘的总和  = 409113从1到10的阶乘的总和  = 4037913从1到11的阶乘的总和  = 43954713从1到12的阶乘的总和  = 522956313从1到13的阶乘的总和  = 6749977113从1到14的阶乘的总和  = 93928268313从1到15的阶乘的总和  = 1401602636313从1到16的阶乘的总和  = 22324392524313从1到17的阶乘的总和  = 378011820620313从1到18的阶乘的总和  = 6780385526348313从1到19的阶乘的总和  = 128425485935180313从1到20的阶乘的总和  = 2561327494111820313从1到21的阶乘的总和  = 53652269665821260313从1到22的阶乘的总和  = 1177652997443428940313从1到23的阶乘的总和  = 27029669736328405580313从1到24的阶乘的总和  = 647478071469567844940313从1到25的阶乘的总和  = 16158688114800553828940313从1到26的阶乘的总和  = 419450149241406189412940313从1到27的阶乘的总和  = 11308319599659758350180940313从1到28的阶乘的总和  = 316196664211373618851684940313从1到29的阶乘的总和  = 9157958657951075573395300940313从1到30的阶乘的总和  = 274410818470142134209703780940313
相关栏目:

用户点评