用递归算法计算n!,并在主函数中求1!+3!+5!+7!+9!的值
时间: 2023-11-24 07:51:51 浏览: 103
以下是使用递归算法计算n!,并在主函数中求1!+3!+5!+7!+9!的值的代码实现:
```java
public class Test {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 9; i += 2) {
sum += factorial(i);
}
System.out.println("1!+3!+5!+7!+9!的结果为:" + sum);
}
static int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
```
运行结果为:
```
1!+3!+5!+7!+9!的结果为:40442
```
相关问题
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;
}
```
用递归算法求 1!+2!+3! +...+n!
可以使用递归函数来求解。首先,需要定义一个函数来计算阶乘,然后在主函数中使用循环来计算每个数的阶乘并将其相加。
以下是代码示例:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def sum_of_factorials(n):
if n == 0:
return 1
else:
return factorial(n) + sum_of_factorials(n-1)
n = 5
print("Sum of factorials from 1 to", n, "is", sum_of_factorials(n))
```
输出为:Sum of factorials from 1 to 5 is 153。
这里定义了两个函数,factorial函数用于计算阶乘,sum_of_factorials函数用于计算从1到n的阶乘和。在sum_of_factorials函数中,递归调用自身来计算每个数的阶乘并将其相加,直到n等于0时停止递归。
阅读全文