使用递归求自然数之和的 C++ 程序

要理解此示例,您应该具备以下 C++ 编程 主题的知识:

正数 1, 2, 3… 被称为自然数。下面的程序从用户那里获取一个正整数并计算给定数字的总和。

您也可以使用循环求自然数之和。但是,您将在此处学习使用递归解决此问题

示例:使用递归计算自然数的总和

#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 an positive integer: 10
Sum = 55

在这个程序中,用户输入的数字被传递给 add() 函数。

假设用户输入了 10。现在,将 10 传递给 add() 函数。此函数将 add(9) 的加法结果加上 10。

下一次,将 9 添加到 add(8)的结果。

这一直持续到 0,当函数输入 0 时返回 0。

最终,返回每个函数来计算最终结果:1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55。