使用循环如何实现阶乘计算?
时间: 2024-11-25 17:15:57 浏览: 20
JavaScript使用递归和循环实现阶乘的实例代码
使用循环来计算阶乘通常是更高效的选择,因为它避免了递归带来的额外函数调用开销。以下是使用for循环的C语言代码示例:
```c
#include <stdio.h>
#include <limits.h> // 引入LLONG_MAX以处理大数
long long factorial(int n) {
long long fact = 1; // 初始化阶乘为1
for (int i = 1; i <= n; i++) {
fact *= i; // 每次循环将当前值乘到阶乘上
}
return fact;
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num >= 0) {
long long result = factorial(num);
printf("该数的阶乘是:%lld\n", result);
} else {
printf("输入错误,阶乘只对非负整数有效。\n");
}
return 0;
}
```
在这个循环版本中,我们直接迭代从1到n,逐个相乘,直到得到阶乘的结果。
阅读全文