利用递归函数编写程序实现1-100各自然数之和。
时间: 2024-02-15 20:05:45 浏览: 26
好的,以下是利用递归函数实现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 的自然数之和。
C语言编写一个递归函数,计算从键盘上输入的任一整数的自然数之和。 如输入n,也就是求n = 1+2+3+.....+n
好的,以下是实现递归函数计算自然数之和的C语言代码:
```c
#include <stdio.h>
int sum(int n);
int main()
{
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
printf("1+2+3+...+%d=%d\n", n, sum(n));
return 0;
}
int sum(int n)
{
if (n == 1) // 递归终止条件
return 1;
else
return n + sum(n - 1); // 递归调用
}
```
在程序中,我们定义了一个 `sum` 函数,用于计算自然数之和。其中,递归终止条件是当 `n` 等于 1 时,函数返回 1,否则函数调用自身,将 `n` 减 1,再加上 `n` 的值,最终得到自然数之和。
在 `main` 函数中,我们通过 `scanf` 函数从键盘上读入一个整数 `n`,并调用 `sum` 函数计算从 1 到 `n` 的自然数之和。最后将结果输出到屏幕上。