输入一个整数number(1 ≤ number ≤ 32),计算序列1! + 2! + 3! + ··· + number!,并将计算结果输出。 注:n!=1×2×3×…×(n-1)×n,n! 表示 n 的阶乘。
时间: 2024-12-15 19:23:52 浏览: 2
要计算给定整数 `number` 的阶乘之和,你可以编写一个循环,从1到 `number`,对每个数 `i` 计算它的阶乘并累加。这里是对应的 C 语言代码:
```c
#include <stdio.h>
// 阶乘函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int number;
printf("Enter an integer between 1 and 32: ");
scanf("%d", &number);
// 检查输入是否在范围内
if (number < 1 || number > 32) {
printf("Invalid input, please enter a number between 1 and 32.\n");
return 1;
}
unsigned long long sum = 0;
for (int i = 1; i <= number; ++i) {
sum += factorial(i);
}
printf("The sum of factorials from 1 to %d is: %llu\n", number, sum);
return 0;
}
```
在这个程序中,`factorial()` 函数递归地计算阶乘,然后在主函数里使用一个循环将所有阶乘相加。注意这里使用了 `unsigned long long` 类型来存储可能非常大的阶乘结果,因为较小的类型可能无法容纳较大的值。
阅读全文