递归函数求1-100自然数之和
时间: 2023-09-14 16:09:44 浏览: 149
可以使用递归函数来求1-100自然数之和。定义一个递归函数,传入一个整数n,表示要求1到n的自然数之和。当n为1时,直接返回1;否则,递归调用函数,传入n-1,并将结果加上n,返回给上一层函数。
下面是使用Python实现的代码:
```
def sum_n(n):
if n == 1:
return 1
else:
return n + sum_n(n-1)
print(sum_n(100)) # 输出5050
```
注意,递归函数会占用较多的栈空间,当n很大时,可能会导致栈溢出。为了避免这种情况,可以使用循环函数代替递归函数来实现。
相关问题
利用递归函数编写程序实现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自然数之和并打印输出。
利用递归函数编写程序实现1-100各自然数之和。 函数接口定义: int add(int n); 其中 n 是用户传入的参数。 函数用递归法实现1-100各自然数之和。
以下是利用递归函数编写程序实现1-100各自然数之和的代码:
```c
#include <stdio.h>
int add(int n);
int main() {
int sum = add(100);
printf("The sum of 1 to 100 is %d\n", sum);
return 0;
}
int add(int n) {
if (n == 1) {
return 1;
} else {
return n + add(n - 1);
}
}
```
在主函数中,我们调用 add 函数,并将参数设置为 100。在 add 函数中,我们使用递归法实现了 1 到 n 的自然数之和。如果 n 等于 1,则返回 1,否则返回 n 加上 n-1 的自然数之和。通过不断递归调用 add 函数,最终得到 1 到 100 的自然数之和。