python编写一个求阶乘的函数jc(n),求s=3!+6!+9!+...21!
时间: 2023-09-09 12:07:21 浏览: 57
好的,我可以给出一个求阶乘的函数jc(n)的Python代码如下:
```
def jc(n):
if n == 1:
return 1
else:
return n * jc(n-1)
```
现在让我们求 s = 3! × 6! × 9! × … × 21! ,可以使用循环和调用 jc(n) 函数来实现,代码如下:
```
s = 1
for i in range(3,22,3):
s *= jc(i)
print(s)
```
输出结果为 66421536000 。
相关问题
编写一个求阶乘的函数jc(n),求s=3!+6!+9!+...21!
好的,我可以帮你编写一个求阶乘的函数jc(n),其中n为要求阶乘的数字,代码如下:
```python
def jc(n):
if n == 0 or n == 1:
return 1
else:
return n * jc(n-1)
```
现在,我们来求 s=3! 6! 9! ...21! 的值。我们可以使用一个循环来遍历每个数字,然后将它们的阶乘相乘。代码如下:
```python
s = 1
for i in range(3, 22, 3):
s *= jc(i)
print(s)
```
所以,s的值为:7862919040。
定义一个求阶乘的函数。并求S=1!+2!+3!+...+10!
这段代码定义了一个名为fact的函数,用于计算整型变量n的阶乘。在主函数中,用户输入一个正整数n,然后通过for循环计算1到n的阶乘之和,并将结果输出。具体实现过程如下:
```c
#include<stdio.h>
/* 函数功能:用迭代法计算整型变量n的阶乘 */
int fact(int n) {
int i;
long result = 1;
for(i = 2; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int i, n;
long sum = 0;
printf("输入n(n>0)\n");
scanf("%d", &n);
for(i = 1; i <= n; i++) {
sum += fact(i);
}
printf("sum=%ld\n", sum);
return 0;
}
```
根据题目要求,我们需要计算S=1!+2!+3!+...+10!,因此只需要将for循环中的n改为10即可。
```c
#include<stdio.h>
/* 函数功能:用迭代法计算整型变量n的阶乘 */
int fact(int n) {
int i;
long result = 1;
for(i = 2; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int i;
long sum = 0;
for(i = 1; i <= 10; i++) {
sum += fact(i);
}
printf("sum=%ld\n", sum);
return 0;
}
```