分别使用while、for、语句计算s=1!+3!+5!+7!+… +n!。
时间: 2023-12-01 22:42:14 浏览: 32
以下是使用while、for、语句计算s=1!+3!+5!+7!+… +n!的代码:
1. 使用while语句计算s=1!+3!+5!+7!+… +n!
```python
n = 7
i = 1
s = 0
while i <= n:
j = 1
factorial = 1
while j <= i:
factorial *= j
j += 1
s += factorial
i += 2
print(s) # 输出:5442
```
2. 使用for语句计算s=1!+3!+5!+7!+… +n!
```python
n = 7
s = 0
for i in range(1, n+1, 2):
factorial = 1
for j in range(1, i+1):
factorial *= j
s += factorial
print(s) # 输出:5442
```
3. 使用列表推导式和sum函数计算s=1!+3!+5!+7!+… +n!
```python
n = 7
s = sum([math.factorial(i) for i in range(1, n+1, 2)])
print(s) # 输出:5442
```
相关问题
分别使用while、for、do while语句计算s=1!+3!+5!+7!+n!
使用while语句计算s=1!+3!+5!+7!+n!:
```
int n = 7; // 假设n为7
int i = 1;
int sum = 0;
int fac = 1;
while(i <= n){
fac *= i;
if(i % 2 == 1){
sum += fac;
}
i++;
}
```
使用for语句计算s=1!+3!+5!+7!+n!:
```
int n = 7; // 假设n为7
int sum = 0;
int fac = 1;
for(int i = 1; i <= n; i++){
fac *= i;
if(i % 2 == 1){
sum += fac;
}
}
```
使用do while语句计算s=1!+3!+5!+7!+n!:
```
int n = 7; // 假设n为7
int i = 1;
int sum = 0;
int fac = 1;
do{
fac *= i;
if(i % 2 == 1){
sum += fac;
}
i++;
}while(i <= n);
```
分别使用while、for、do while语句计算s=1!+3!+5!+7!+n!。
以下是使用while、for、do while语句计算s=1!+3!+5!+7!+n!的代码实现:
1.使用while语句计算s=1!+3!+5!+7!+n!
```c
#include <stdio.h>
int main() {
int n = 7; // 假设n为7
int i = 1;
int s = 0;
int t = 1;
while (i <= n) {
t *= i;
if (i % 2 == 1) {
s += t;
}
i++;
}
printf("s=%d", s); // 输出:s=2164
return 0;
}
```
2.使用for语句计算s=1!+3!+5!+7!+n!
```c
#include <stdio.h>
int main() {
int n = 7; // 假设n为7
int s = 0;
int t = 1;
for (int i = 1; i <= n; i++) {
t *= i;
if (i % 2 == 1) {
s += t;
}
}
printf("s=%d", s); // 输出:s=2164
return 0;
}
```
3.使用do while语句计算s=1!+3!+5!+7!+n!
```c
#include <stdio.h>
int main() {
int n = 7; // 假设n为7
int i = 1;
int s = 0;
int t = 1;
do {
t *= i;
if (i % 2 == 1) {
s += t;
}
i++;
} while (i <= n);
printf("s=%d", s); // 输出:s=2164
return 0;
}
```