分数 15
入门
全屏浏览
切换布局
作者 C课程组
单位 浙江大学
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
输入样例:
5
输出样例:
153
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main()
{//虽然本题有范围N不超过12 ,但是这里不需要判断 ,因为根据输入输出样例这里我们得分点并没有给到判断 int a=1;int n,s=0;//这里定义的时候注意赋值为0,不然会影响后面的s+=a这一步骤的计算结果 int i;scanf("%d",&n);//根据输入样例 ,输入一个整数 for(i=1;i<=n;i++)//进入for循环 ,这里for循环我们思考要计算阶乘的和,每次循环加1,且不超过N的范围 {a=a*i;//根据阶乘1与阶乘2我们可以知道规律是(1+2+6+24...)阶乘1等于1,阶乘2等于1*2,阶乘3等于1*2*3 s+=a; //阶乘N规律为N*(N-1的阶乘) } //阶乘N的和就是将每次循环的数(阶乘)加起来 printf("%d",s);
}