問題 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;
}
}