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() 函数。此函数将 10 添加到 9 的加法结果中(10 - 1 = 9)。

下一次,9 被添加到 8 的加法结果中(9 - 1 = 8)。这个过程一直持续到数字达到 0,此时函数返回 0。

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战