使用遞迴求自然數和的 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);
廣告