输入一个整数number(1 ≤ number ≤ 32),计算序列1! + 2! + 3! + ··· + number!,并将计算结果输出。 注:n!=1×2×3×…×(n-1)×n,n! 表示 n 的阶乘。
时间: 2024-12-15 11:24:04 浏览: 4
big-number-qestion.rar_Big!_qestion可数吗
这是一个简单的编程问题,要求我们编写一个程序来计算给定整数 `number` 的阶乘之和。阶乘定义为从1到该数所有正整数的乘积。我们可以使用循环和累加的方式来解决这个问题。
以下是一个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 (1 ≤ number ≤ 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 result = 0; // 初始化结果
for (int i = 1; i <= number; ++i) {
result += factorial(i); // 计算并累加每个数的阶乘
}
printf("The sum of factorials from 1 to %d is: %llu\n", number, result);
return 0;
}
```
这个程序首先定义了一个递归函数 `factorial()` 来计算阶乘,然后在主函数中获取用户的输入,检查其有效性,再用一个循环依次计算并累加每个数的阶乘,最终输出结果。
阅读全文