阶乘是什么程序

时间:2025-01-24 23:48:59 手机游戏

阶乘是一个数学概念,表示一个正整数与比它小的所有正整数的乘积。例如,5的阶乘(记作5!)是1*2*3*4*5=120。在计算机编程中,可以使用不同的方法来实现阶乘的计算,包括递归和循环。

```c

include

unsigned long long factorial(int n);

int main() {

int n;

unsigned long long result;

printf("请输入一个正整数: ");

scanf("%d", &n);

result = factorial(n);

printf("%d的阶乘为: %llu\n", n, result);

return 0;

}

unsigned long long factorial(int n) {

if (n == 0 || n == 1) {

return 1;

} else {

return n * factorial(n - 1);

}

}

```

此外,也可以使用循环来实现阶乘的计算:

```c

include

unsigned long long factorial(int n) {

unsigned long long result = 1;

for (int i = 1; i <= n; i++) {

result *= i;

}

return result;

}

int main() {

int n;

unsigned long long result;

printf("请输入一个正整数: ");

scanf("%d", &n);

result = factorial(n);

printf("%d的阶乘为: %llu\n", n, result);

return 0;

}

```

这两种方法都可以有效地计算给定正整数的阶乘。递归方法更简洁,但可能会导致栈溢出,特别是对于较大的输入值。循环方法则相对稳定,适用于各种规模的输入。