求1!+3!+5!+…n!+++n的值从键盘输入
时间: 2023-11-24 12:51:25 浏览: 38
以下是C语言实现求1!+3!+5!+…n!+++n的值从键盘输入的代码:
```c
#include <stdio.h>
int fun(int n);
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i += 2) {
sum += fun(i);
}
printf("1!+3!+5!+...+%d!的和为:%d\n", n, sum + n);
return 0;
}
int fun(int n) {
int res = 1;
for (int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
```
相关问题
用函数求1!+3!+5!+n!。
以下是使用函数求1!+3!+5!+n!的方法:
```python
# 定义一个函数,用于计算阶乘
def jie(n):
if n == 1:
return 1
else:
return n*jie(n-1)
# 从键盘输入n的值
n = int(input())
# 初始化sum为0
sum = 0
# 循环计算1!+3!+5!+n!
for i in range(1, n+1, 2):
sum += jie(i)
# 输出结果
print(sum)
```
用递归求1!+2!+……+n!,从键盘输入n的值
可以使用递归来求1!+2!+……+n!的和,具体实现如下:
```
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n, sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
printf("1!+2!+...+%d! = %d\n", n, sum);
return 0;}
```
首先定义一个递归函数`factorial`,用于计算n的阶乘。然后在主函数中,通过循环计算1!2!+……+n!的和,并输出结果。