用pthyon编写一个函数fun(n),其功能是求1+2+...+n,利用这个函数求1+(1+2)+(1+2+3)+...+(1+2+...+20)。 def fun(n): a s=0 for i in range(1,n+1): s=s+i return s s=0 for i in range(1,21): s=s+fun(i) print("s=",s)
时间: 2023-08-03 17:08:35 浏览: 115
你的代码几乎是正确的,只需要做一些小修改即可:
```python
def fun(n):
s = 0
for i in range(1, n+1):
s += i
return s
s = 0
for i in range(1, 21):
s += fun(i)
print("1+2+...+{} = {}".format(i, fun(i)))
print("1+(1+2)+(1+2+3)+...+(1+2+...+20) =", s)
```
输出结果如下:
```
1+2+...+1 = 1
1+2+...+2 = 3
1+2+...+3 = 6
1+2+...+4 = 10
1+2+...+5 = 15
1+2+...+6 = 21
1+2+...+7 = 28
1+2+...+8 = 36
1+2+...+9 = 45
1+2+...+10 = 55
1+2+...+11 = 66
1+2+...+12 = 78
1+2+...+13 = 91
1+2+...+14 = 105
1+2+...+15 = 120
1+2+...+16 = 136
1+2+...+17 = 153
1+2+...+18 = 171
1+2+...+19 = 190
1+2+...+20 = 210
1+(1+2)+(1+2+3)+...+(1+2+...+20) = 1540
```
其中第一列是1+2+...+n的值,第二列是对应的结果,最后一行是1+(1+2)+(1+2+3)+...+(1+2+...+20)的值。
相关问题
编写一个函数fun(n),功能是求1*2*... *n,利用这个函数求1!+2!+3:+...+ 10
好的,这里是实现这个功能的 Python 代码:
```python
# 定义一个函数,用于计算 n 的阶乘
def fun(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
# 计算 1!+2!+3!+...+10!
sum = 0
for i in range(1, 11):
sum += fun(i)
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!的结果。
阅读全文