利用递归函数编写程序实现1-100各自然数之和。
时间: 2024-02-15 07:05:45 浏览: 122
好的,以下是利用递归函数实现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 的自然数之和。
编写递归函数int fib (int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。 扩展练习:使用内联函数编程求出自然数1~10中各个数的立方值。
编写递归函数`int fib(int n)`,用于计算斐波那契数列。该数列的定义是:第0项为0,第1项为1,从第2项开始,每一项都等于前两项之和。递归函数的实现如下:
```c++
int fib(int n) {
if (n <= 1) { // 基本情况
return n;
} else {
return fib(n - 1) + fib(n - 2); // 递归调用
}
}
```
在主程序中,你可以让用户输入一个整数n,并调用这个函数:
```c++
#include <iostream>
int main() {
int n;
std::cout << "请输入一个正整数n: ";
std::cin >> n;
std::cout << "斐波那契数列的第" << n << "项是: " << fib(n) << std::endl;
return 0;
}
```
对于扩展练习,可以使用内联函数(inline function)来提高立方值计算的效率。内联函数是一种要求编译器将函数体直接替换到调用位置的技术。下面是计算1到10之间每个数字立方的内联函数示例:
```c++
// 内联函数声明
inline int cube(int num) {
return num * num * num;
}
int main() {
for (int i = 1; i <= 10; ++i) {
std::cout << "1到10中," << i << "的立方是: " << cube(i) << std::endl;
}
return 0;
}
```
阅读全文