PTA 7-119 计算阶乘和
分数 10
作者 陈越
单位 浙江大学
对于给定的正整数N,需要你计算 S=1!+2!+3!+…+N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:
3
输出样例:
9
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
long factorial(int n) { //求阶乘函数
if (n == 0 || n == 1) {
return 1;
}
else {
return factorial(n - 1) * n;
}
}
int main() {
int a;
int sum = 0; //求和
scanf("%d", &a);
for(int i = 1; i <= a; i++){ //循环求每个数的阶乘和
sum += factorial(i); //调用阶乘函数
}
printf("%ld\n", sum);
return 0;
}
解题思路:
step1:定义一个函数求阶乘
step2:循环求每个数的阶乘和
归属知识点:
函数定义及调用
循环语句
递归