分别用for循环和递归函数求1+2+3+……n的值,n的值从键盘输入
时间: 2023-10-24 08:10:36 浏览: 87
使用for循环求解:
```python
n = int(input("请输入n的值:"))
sum = 0
for i in range(1, n+1):
sum += i
print("1+2+3+...+n的值为:", sum)
```
使用递归函数求解:
```python
def recursive_sum(n):
if n == 1:
return 1
else:
return n + recursive_sum(n-1)
n = int(input("请输入n的值:"))
sum = recursive_sum(n)
print("1+2+3+...+n的值为:", sum)
```
两种方法都可以求解1+2+3+...+n的值,但使用递归函数求解时需要注意递归深度的问题。
相关问题
分别使用 for 循环和递归函数求 1+2+3+……+n的值,n的值从键盘输入。
好的,我来回答你的问题。
使用 for 循环求 1+2+3+……+n的值的代码如下:
```python
n = int(input("请输入一个正整数 n:"))
sum = 0
for i in range(1, n+1):
sum += i
print("1+2+3+...+n 的值为:", sum)
```
使用递归函数求 1+2+3+……+n的值的代码如下:
```python
def sum_recursive(n):
if n == 1:
return 1
else:
return n + sum_recursive(n-1)
n = int(input("请输入一个正整数 n:"))
sum = sum_recursive(n)
print("1+2+3+...+n 的值为:", sum)
```
希望能够帮到你!
编程用递归函数实现1+2+3+4+……+n,并显示所求的和,其中n从键盘输入。(期末考试题,20分)
好的,这是一个经典的递归问题。以下是一个实现:
```python
def sum_n(n):
if n == 0:
return 0
else:
return n + sum_n(n-1)
n = int(input("请输入n的值:"))
result = sum_n(n)
print("1到n的和是:", result)
```
首先,定义了一个名为 `sum_n` 的递归函数,接收一个整数参数 `n`,表示需要求和的范围。如果 `n` 等于 0,则返回 0;否则,递归调用 `sum_n` 函数,传入参数 `n-1`,并将其返回值加上 `n`。
然后,从键盘读取 `n` 的值,并调用 `sum_n` 函数,将其结果存储在变量 `result` 中。最后,打印出 `result` 的值作为答案。
注意:这个递归函数的效率并不高,因为它在每一次递归调用时都会创建新的函数帧,占用大量的内存。在实际应用中,最好使用循环方式实现更高效的计算。
阅读全文