7-7 求阶乘序列前N项和
分数 10
简单
作者 沈瑞琳
单位 广东东软学院
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:test.zip
153
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
解题思路:
题目要求求阶乘序列前N项和,即序列 1!+2!+3!+⋯ 的前N项之和。需要我们先定义一个实现阶乘的方法。由于N<=12,所以定义的存储阶乘的变量需为long型,以避免超出上限。之后在主测试类中调用方法,循环相加即可。
代码实现:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int n;
long sum=0;
n = sc.nextInt() ;
Fact f =new Fact();
for(int i=n;i>0;i--){
sum+=f.fact(i);
}
System.out.println(sum);
}
}
class Fact{
long fact(int n) //定义一个求阶乘的方法
{
int i;
long result = 1;
for (i=2; i<=n; i++)
result *= i;
return result;
}
}