c语言long long int类型编写一个函数,实现整数m到n之间所有自然数的阶乘的和并返回,再编写主函数验证。
时间: 2024-12-16 22:28:36 浏览: 55
在C语言中,`long long int`类型用于存储大整数,可以用来处理较大的阶乘计算。为了实现这个功能,我们可以创建一个递归函数来计算每个数的阶乘,并累加它们。下面是一个简单的示例:
```c
#include <stdio.h>
#include <math.h>
// 函数声明
long long int factorial_sum(long long int m, long long int n);
// 计算阶乘
long long int factorial(long long int num) {
if (num == 0 || num == 1)
return 1;
else
return num * factorial(num - 1);
}
// 阶乘和的计算
long long int factorial_sum(long long int m, long long int n) {
long long int sum = 0;
for (int i = m; i <= n; ++i) {
sum += factorial(i);
}
return sum;
}
int main() {
// 测试输入范围
long long int m = 1, n = 5; // 可以替换为你想要计算的范围
long long int result = factorial_sum(m, n);
printf("The sum of factorials from %lld to %lld is: %lld\n", m, n, result);
// 验证结果是否正确,例如检查1到5的阶乘之和
if (result == 495 && m == 1 && n == 5) {
printf("Verification successful.\n");
} else {
printf("Verification failed.\n");
}
return 0;
}
```
在这个程序中,我们首先定义了一个递归函数`factorial`来计算给定数值的阶乘。然后,在`factorial_sum`函数里,我们遍历从m到n的所有数字,将其阶乘累加到`sum`变量上。在主函数`main`中,我们测试了一个例子(1到5),并打印了结果以及验证信息。
阅读全文
相关推荐


















