跳到主要内容

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。