使用递归求自然数和的 C++ 程序
自然数是从 1 开始的正整数。
自然数序列为 −
1, 2, 3, 4, 5, 6, 7, 8, 9, 10……
使用递归求前 n 个自然数之和的程序如下。
示例
#include <iostream>
using namespace std;
int sum(int n) {
if(n == 0)
return n;
else
return n + sum(n-1);
}
int main() {
int n = 10;
cout<<"Sum of first "<<n<<" natural numbers is "<<sum(n);
return 0;
}输出
Sum of first 10 natural numbers is 55
在以上程序中,函数 sum() 是一个递归函数。如果 n 为 0,那么它返回 0,因为前 0 个自然数的和为 0。如果 n 大于 0,那么 sum 递归地调用它自己并使用值 n-1,最终返回 n、n-1、n-2...2、1 的总和。演示此过程的代码片段如下。
int sum(int n) {
if(n == 0)
return n;
else
return n + sum(n-1);
}在函数 main() 中,使用 cout 显示前 n 个自然数的和。这可以如下所示 −
cout<<"Sum of first "<<n<<" natural numbers is "<<sum(n);
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP