Java计算1-n个数阶乘的和,,import java.
分享于 点击 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
用户点评