用C语言写 求s=1!+2!+3!+....10!的值。
时间: 2024-11-04 17:11:12 浏览: 3
计算 S=1!+2!+3!+...+N!。
在C语言中,要计算从1!到10!的和,我们需要使用递归来计算阶乘,并遍历整个范围。以下是实现该功能的一个简单示例:
```c
#include <stdio.h>
// 阶乘函数
unsigned long long factorial(int num) {
if (num == 0 || num == 1) // 0! 和 1! 的特殊情况直接返回1
return 1;
else
return num * factorial(num - 1); // 递归调用
}
int main() {
unsigned long long sum = 0; // 初始化求和变量
for (int i = 1; i <= 10; i++) { // 遍历1到10
sum += factorial(i); // 累加阶乘结果
}
printf("1! + 2! + 3! + ... + 10! = %llu\n", sum); // 输出结果
return 0;
}
```
请注意,由于阶乘的增长非常快,对于较大的数,可能会超过`unsigned long long`类型的存储范围,导致溢出。如果需要处理更大的数值,可以考虑使用`long long`或者`__int128_t`。
阅读全文