用递归方法,编写一个求n!的函数,编写一个计算程序,计算2!+3!+4!+5!(用C语言实现)
时间: 2024-02-01 21:13:37 浏览: 33
以下是求n!的函数代码:
```c
int factorial(int n) {
if (n == 0 || n == 1) { // base case
return 1;
} else { // recursive case
return n * factorial(n - 1);
}
}
```
以下是计算2!+3!+4!+5!的程序代码:
```c
#include <stdio.h>
int factorial(int n);
int main() {
int sum = 0;
for (int i = 2; i <= 5; i++) {
sum += factorial(i);
}
printf("%d\n", sum);
return 0;
}
int factorial(int n) {
if (n == 0 || n == 1) { // base case
return 1;
} else { // recursive case
return n * factorial(n - 1);
}
}
```
输出结果为:154
相关问题
用递归方法,编写一个求n!的函数,编写一个计算程序,计算2!+3!+4!+5!
以下是使用递归方法实现求n!的函数:
```python
def factorial(n):
if n == 0: # 0的阶乘为1
return 1
else:
return n * factorial(n-1)
```
接下来是计算2!+3!+4!+5!的程序:
```python
total = 0
for i in range(2, 6):
total += factorial(i)
print(total)
```
输出结果为 146。
用C语言编写用递归方法编写一个求n!的函数,在主函数中实现计算:1!+2!+3!+4!+5!+...+20!
以下是用C语言编写递归方法求n!和计算1!+2!+3!+4!+5!+...+20!的程序:
```c
#include <stdio.h>
// 递归方法求n!
int fact(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * fact(n - 1);
}
}
int main() {
int i, sum = 0;
for (i = 1; i <= 20; i++) {
sum += fact(i);
}
printf("1!+2!+3!+...+20! = %d\n", sum);
return 0;
}
```