用c语言计算p=n!的值
时间: 2024-11-06 16:15:56 浏览: 4
C语言简单实现求n阶勒让德多项式的方法
5星 · 资源好评率100%
在C语言中,计算阶乘(n!)通常涉及到循环和乘法操作,因为n! = n * (n - 1) * (n - 2) * ... * 1。下面是一个简单的函数,使用递归方法来计算阶乘:
```c
#include <stdio.h>
// 计算阶乘的递归函数
long long factorial(int n) {
if (n == 0 || n == 1) { // 当n等于0或1时,阶乘结果为1
return 1;
} else {
return n * factorial(n - 1); // 递归调用,计算(n-1)!
}
}
int main() {
int p;
printf("请输入一个正整数:");
scanf("%d", &p);
// 检查输入是否合法(非负整数)
if (p < 0) {
printf("抱歉,阶乘只对非负整数定义。\n");
} else {
long long result = factorial(p);
printf("n! = %lld\n", result);
}
return 0;
}
```
在这个程序中,`factorial`函数负责递归计算阶乘,然后主函数获取用户输入并调用该函数。注意这个方法对于较大的n可能会导致溢出,如果需要处理大数,可以考虑使用专门的大数库。
阅读全文