用c语言递归算法计算2!+4!+6!+8!+10!的和
时间: 2023-05-27 22:01:58 浏览: 166
```
#include <stdio.h>
int factorial(int n){
if(n == 0 || n == 1){
return 1;
}
else{
return n * factorial(n-2);
}
}
int main(){
int i,sum = 0;
for(i=2;i<=10;i+=2){
sum += factorial(i);
}
printf("2! + 4! + 6! + 8! + 10! = %d", sum);
return 0;
}
```
注意,这里定义的阶乘函数是`factorial(int n)`,计算的是n的阶乘,但是我们在for循环中只枚举了偶数,所以递归计算n!时传入的参数是n-2。
相关问题
用VC++6.0编写一C语言程序,用递归算法求1!+2!+3!+…+n!
以下是用VC++6.0编写的递归算法求1!+2!+3!+…+n!的C语言程序:
```c
#include <stdio.h>
int factorial(int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n-1);
}
}
int sum_of_factorials(int n) {
if (n == 1) {
return 1;
} else {
return factorial(n) + sum_of_factorials(n-1);
}
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("1!+2!+3!+...+%d! = %d\n", n, sum_of_factorials(n));
return 0;
}
```
程序中使用了两个递归函数:`factorial`和`sum_of_factorials`。`factorial`函数计算给定数字的阶乘,`sum_of_factorials`函数使用递归计算1!+2!+3!+…+n!的和。
注意:VC++6.0是一个过时的开发工具,建议使用更新的工具进行开发。
C语言编写函数用递归算法计算n!,主函数中求1!+3!+5!+7!+9!
以下是C语言递归算法计算n!的函数和主函数中求1!+3!+5!+7!+9!的代码:
```c
#include <stdio.h>
// 递归算法计算n!
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int sum = 0;
for (int i = 1; i <= 9; i += 2) {
sum += factorial(i);
}
printf("1!+3!+5!+7!+9!=%d\n", sum);
return 0;
}
```
阅读全文