计算并输出1到100的自然数之和,其中1到n的自然数之和采用递归函数实现。
时间: 2023-11-11 11:05:39 浏览: 44
好的,下面是代码:
```python
def sum_n(n):
if n == 1:
return 1
else:
return n + sum_n(n-1)
print("1到100的自然数之和为:", sum_n(100))
```
这个函数接收一个整数 n 作为参数,并通过递归计算1到n的自然数之和。如果 n 等于 1,则直接返回 1。否则,它将计算 n 和 1到n-1之间的自然数之和,并将它们相加以得到结果。
例如,如果输入 n 为 5,则输出为 15,即 1 + 2 + 3 + 4 + 5 = 15。
请注意,递归实现的自然数之和函数在计算较大的数时可能会非常慢,因为它会重复计算许多相同的值。在实际使用中,最好使用其他更有效的算法来计算自然数之和。
相关问题
计算并输出1到100的自然数之和,其中1到n的自然数之和采用普通函数实现。
好的,下面是代码:
```python
def sum_n(n):
return sum(range(1, n+1))
print("1到100的自然数之和为:", sum_n(100))
```
这个函数接收一个整数 n 作为参数,并通过 sum 函数计算1到n的自然数之和。其中 range(1, n+1) 表示生成从 1 到 n 的整数序列,然后通过 sum 函数将它们相加以得到结果。
例如,如果输入 n 为 5,则输出为 15,即 1 + 2 + 3 + 4 + 5 = 15。
请注意,这种实现方式比递归实现更简单、更高效,因此在实际使用中更为常见。
利用递归函数编写程序实现1-100各自然数之和。
好的,以下是利用递归函数实现1-100自然数之和的 Python 代码:
```python
def sum_natural_numbers(n):
if n == 1:
return 1
else:
return n + sum_natural_numbers(n-1)
result = sum_natural_numbers(100)
print("1-100自然数之和为:", result)
```
运行结果为:
```
1-100自然数之和为: 5050
```
解释一下代码:首先定义一个递归函数`sum_natural_numbers`,参数为n,表示求1到n自然数之和。当n等于1时,返回1;否则返回n加上1到n-1自然数之和(即`sum_natural_numbers(n-1)`)。最后在主程序中调用`sum_natural_numbers`函数,传入100作为参数,求出1-100自然数之和并打印输出。