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

更新日期:2020 年 6 月 24 日

2 千次以上的瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始
廣告