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:循环求每个数的阶乘和
归属知识点:
函数定义及调用
循环语句
递归
这是一个C语言程序,用于计算1到N的阶乘和。程序定义了一个名为`factorial`的递归函数来计算阶乘,然后在`main`函数中通过循环调用该函数,累加每个数的阶乘,最后输出总和。解题步骤包括定义阶乘函数和循环求和。
678

被折叠的 条评论
为什么被折叠?



