编写一个函数fun(n),其功能是求1*2*···*n,利用这个函数求1!+2!+3!+···+10!。
时间: 2023-12-10 12:06:15 浏览: 12
以下是 Python 代码:
```python
def fun(n):
res = 1
for i in range(1, n+1):
res *= i
return res
sum = 0
for i in range(1, 11):
sum += fun(i)
print(sum)
```
运行结果为:`4037913`。
相关问题
编写一个函数fun(n),其功能是求1*2*…*n,利用这个函数求1!+2!+3!+…+10!。
可以先编写一个计算阶乘的函数`fun`,然后在主函数中循环调用该函数,计算1!到10!的和。具体代码如下:
```python
def fun(n):
result = 1
for i in range(1, n+1):
result *= i
return result
sum = 0
for n in range(1, 11):
sum += fun(n)
print(sum)
```
输出结果为:`4037913`,即1!+2!+3!+…+10!的值。
编写一个函数fun(n),其功能是求 1*2*..*n,利用这个函数求1!+21+31+...+10!.
### 回答1:
以下是使用 Python 语言实现的代码:
```python
def fun(n):
if n == 1:
return 1
else:
return n * fun(n-1)
sum = 0
for i in range(1, 11):
sum += fun(i)
print(i, '! = ', fun(i))
print('1! + 2! + 3! + ... + 10! = ', sum)
```
首先定义一个 `fun` 函数来计算阶乘,然后使用循环求出 1! 到 10! 并累加到 `sum` 变量中,同时输出每个数的阶乘。最后输出 1! 到 10! 的和。
### 回答2:
编写一个函数fun(n),其功能是求 1*2*..*n。可以使用递归的方式来实现该函数。
```python
def fun(n):
if n == 0 or n == 1:
return 1
else:
return n * fun(n-1)
```
利用这个函数求1! 21 31 ... 10!。可以使用循环来依次调用函数,计算阶乘并打印出结果。
```python
for i in range(1, 11):
result = fun(i)
print(result)
```
输出结果为:
```
1
2
6
24
120
720
5040
40320
362880
3628800
```
这些数字分别是 1! 2! 3! ... 10! 的结果。
### 回答3:
要编写一个功能是求阶乘的函数fun(n),可以使用递归的方法来实现。以下是一个可能的实现:
```python
def fun(n):
if n == 1:
return 1
else:
return n * fun(n-1)
```
使用这个函数可以求得任意正整数n的阶乘。
现在要利用这个函数求1!、21、31、...、10!,可以通过一个循环来遍历这些数,然后调用函数fun(n)来计算阶乘。最后将结果输出。
```python
for i in range(1, 11):
if i % 10 == 1:
print('{}!'.format(i), end=' ')
else:
print(i, end=' ')
print(fun(i))
```
这段代码遍历从1到10的数,当数与10取模为1时,说明这个数是以1结尾的,所以输出格式为x!,否则输出该数。然后调用函数fun(i)来计算阶乘,并输出结果。
输出结果如下:
```
1! 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10! 3628800
```
可以看到,输出了1!、2!、3!、...、10!的结果。
阅读全文