对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:
3
输出样例:
9
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
思路
计算阶乘和:从i=1到i=N的每个数i,计算它的阶乘f(i),并将其累加到一个变量s中。阶乘是一个正整数n的所有正整数小于等于它的积,通常用符号“!”表示。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。
代码:
#include <stdio.h>
int main() {
int n, sum = 0;
scanf("%d", &n); // 输入n的值
for (int i = 1; i <= n; ++i) { // 从1到n循环遍历每个数i
int fact = 1; // 定义阶乘变量fact,并初始化为1
for (int j = 1; j <= i; ++j) { // 从1到i循环遍历每个数j
fact *= j; // 计算i的阶乘
}
sum += fact; // 将i的阶乘累加到阶乘和变量sum中
}
printf("%d", sum);
return 0;
}