【PAT】计算阶乘和

7-41 计算阶乘和(10 分)

对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。

输入格式:

输入在一行中给出一个不超过10的正整数N。

输出格式:

在一行中输出S的值。

输入样例:

3

输出样例:

9

思路: 

题目比较简单,看到题目想到用双重循环,外层循环求累加和,内层循环求阶乘。但写的时候还是出了点小错误,用变量m做阶乘,每一个数字的阶乘计算完成,m要重新置为1,才能开始下一轮阶乘。 

代码: 

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int sum=0;//累加和初始值为0
	int m;
	for(int i=1;i<=n;i++)//外层求和
	{
		m=1;//每一次计算阶乘,m赋值为1
		for(int j=1;j<=i;j++)//循环求阶乘
		{
			m*=j;
		}
	    sum+=m;	
	}
	printf("%d",sum);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/jiangxiaoshan123/article/details/81450203