求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。
问题 1014: [编程入门]阶乘求和
时间限制: 1Sec 内存限制: 128MB 提交: 24349 解决: 4881
题目描述
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。
输入
n
输出
Sn的值
样例输入
5
样例输出
153
由于结果超过Int类型的最大值所以应该使用long定义变量输出结果,使用int类型则报错
import java.util.Scanner;
import java.math.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long sum=0;
int n = in.nextInt();
if(n<=20){
for(int i=1;i<=n;i++){
sum+=fun(i);
}
System.out.println(sum);
}
}
public static long fun(int m){
long num=1;
for(int i=1;i<=m;i++){
num = num*i;
}
return num;
}
}