在这个 C++ 程序中,使用递归函数计算自然数的和。
自然数是包含所有非零整数的数。例如,自然数 = { 1, 2, 3, …….}。这里 n 是用户输入的自然数个数。因此,要找到 n 个自然数的和,我们必须将 1 + 2 + 3 + …….+ n 相加。例如,如果 n = 6,那么和 = 1 + 2 + 3 + 4 + 5 + 6 = 21
如果一个函数在满足某些条件之前不断调用自身,则称该函数为递归函数。
在这个程序中,我们要求用户输入一个正整数,并将其值读取到变量 n。定义一个递归函数 add()。将变量 n 传递给函数 add()。在 if 条件语句中检查条件 n != 0。将 n 加到 n-1 的加法结果中。
返回 n + add(n – 1);
假设用户输入 10。现在,10 被传递给 add() 函数。这个函数将 10 加到 9 的加法结果中(10 - 1 = 9)。在下一个函数调用中,9 与 8 相加(9 - 1 = 8)。这个过程一直持续到数字达到 0,此时函数返回 0。最后,我们得到结果 55。
步骤 1: 调用头文件 iostream。
步骤 2:使用命名空间 std。
步骤 3:定义一个函数 add();
n + add ( n- 1) 直到 n != 0;
返回值
步骤 4:打开整型 main 函数; int main()。
步骤 5: 声明整型变量;n;
步骤 6:打印一条消息,要求输入一个正整数。
步骤 7: 将值读入变量 n;
步骤 8: 调用函数 add(n);
步骤 9:退出;
#include<iostream>
using namespace std;
int add(int n);
int main() {
int n;
cout << "Enter a positive integer: ";
cin >> n;
cout << "Sum = " << add(n);
return 0;
}
int add(int n) {
if(n != 0)
return n + add(n - 1);
return 0;
}
Enter a positive integer: 12 Sum = 78