输入一个整数 nn,请你编写一个函数,int fact(int n),计算并输出 nn 的阶乘。
时间: 2024-11-06 14:20:34 浏览: 24
输入一个整数 `n` 计算其阶乘是一个基础的数学和编程题目。阶乘 `n!` 表示从 1 到 `n` 所有正整数的乘积。例如,5 的阶乘(5!)就是 5 * 4 * 3 * 2 * 1。
下面是一个简单的 Python 函数,用于计算阶乘:
```python
def fact(n):
if n == 0 or n == 1:
return 1
else:
return n * fact(n - 1)
```
在这个函数中,我们使用了递归的方式来计算阶乘。如果 `n` 为 0 或 1,直接返回 1(因为 0! 和 1! 都等于 1)。对于大于 1 的 `n`,我们将 `n` 乘以前面所有数的阶乘(`n - 1` 的阶乘)。
如果你想在其他编程语言如 Java 中实现,可以使用类似的方式,只是语法稍有不同:
```java
public int fact(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * fact(n - 1);
}
}
```
相关问题
编写程序计算sum = 1!+2!+3!+4!+…+n!。 要求:编写函数int fact(int) 计算并返回参数的阶乘。在主函数中完成从键盘输入整数n,然后计算并输出结果。
#include <stdio.h>
int fact(int n) { // 定义计算阶乘的函数
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += fact(i);
}
printf("1! + 2! + 3! + ... + %d! = %d\n", n, sum);
return 0;
}
输入一个正整数n,输出n! 的值。求阶乘功能用函数实现,函数原型 double fact(int n)用c语音编写
好的,您的问题是如何用 C 语言编写一个求阶乘的函数,并通过输入一个正整数 n 来输出 n! 的值。
以下是一个简单的实现:
```c
#include <stdio.h>
double fact(int n) {
if (n == 0) {
return 1;
} else {
return n * fact(n - 1);
}
}
int main() {
int n;
printf("请输入一个正整数 n:");
scanf("%d", &n);
double result = fact(n);
printf("%d! = %.0f\n", n, result);
return 0;
}
```
这个程序中,我们定义了一个名为 `fact` 的函数,用于计算阶乘。如果输入的 n 等于 0,那么阶乘的结果就是 1;否则,我们递归调用 `fact` 函数来计算 n-1 的阶乘,并将结果与 n 相乘,得到 n 的阶乘。
在主程序中,我们通过 `scanf` 函数从用户那里获取一个正整数 n,并将其作为参数传递给 `fact` 函数,得到阶乘的结果。最后,我们使用 `printf` 函数将结果输出到屏幕上。
希望这个程序能够帮助您解决问题,如果您还有其他问题,请随时问我!
阅读全文