用递归算法求1*2*3*…+*n+的值。c语言
时间: 2023-12-23 19:04:00 浏览: 88
以下是使用递归算法求1*2*3*...*n的值的C语言代码示例:
```c
#include <stdio.h>
int recursiveMultiply(int n) {
if (n == 1) {
return 1;
} else {
return n + recursiveMultiply(n - 1);
}
}
int main() {
int n = 5;
int result = recursiveMultiply(n);
printf("The result is: %d\n", result); // 输出:The result is: 15
return 0;
}
```
在上面的代码中,我们定义了一个递归函数`recursiveMultiply`,它接受一个整数参数n,并返回1*2*3*...*n的值。如果n等于1,则递归终止,返回1;否则,递归调用`recursiveMultiply`函数来计算n-1的结果,并将n与结果相加。
在主函数中,我们定义了一个变量n,并将其赋值为5。然后,我们调用`recursiveMultiply`函数来计算1*2*3*...*5的值,并将结果打印出来。
相关问题
C语言递归算法求sum=1+1/1+2+1/1+2+3+...+1/1+2+3+...+n
以下是C语言的递归算法实现:
```c
#include <stdio.h>
// 递归函数
double sum(int n) {
if (n == 1) {
return 1;
} else {
return sum(n-1) + 1.0 / (n*(n+1));
}
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("sum=%lf\n", sum(n));
return 0;
}
```
解释:
递归函数 `sum` 的基准情形是当 `n` 等于 1 时,返回 1。
否则,递归调用 `sum(n-1)`,再加上当前项 `1.0 / (n*(n+1))`,即可得到结果。
在 `main` 函数中,读入 `n` 的值,调用 `sum` 函数计算结果,并输出。
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;
}
```
阅读全文