本文主要是介绍题目 2114: 信息学奥赛一本通T1173-阶乘和,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
用高精度计算出S=1!+2!+3!+…+n!(n≤50),其中“!”表示阶乘,例如:5!=5×4×3×2×1。
输入正整数n,输出计算结果S。
代码:
package lanqiao;import java.math.BigInteger;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();BigInteger sum = new BigInteger("0");for(int i = 1;i <= n;i ++){sum = sum.add(f(i));}System.out.println(sum);}public static BigInteger f(int n){BigInteger sum = new BigInteger("1");for(int i = 1;i <= n;i ++){sum = sum.multiply(new BigInteger(String.valueOf(i)));}return sum;}
}
这篇关于题目 2114: 信息学奥赛一本通T1173-阶乘和的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!