正数 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()
函数。此函数将 9 的加法结果加 10(10-1 = 9)。
下一次,将 9 添加到 8 的加法结果(9-1 = 8)。这一直持续到数字达到 0,当函数返回 0 时。
现在,返回每个函数来计算最终结果: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55、