C++中尋找約數個數超過N的第一個三角數


在本教程中,我們將找到一個約數個數大於n的三角數。

如果在小於或等於n的任意點上自然數的和等於給定數字,則該給定數字為三角數。

我們已經瞭解了什麼是三角數。讓我們看看解決這個問題的步驟。

  • 初始化數字

  • 編寫一個迴圈,直到我們找到滿足給定條件的數字。

  • 檢查該數字是否為三角數。

  • 檢查該數字是否具有超過n個約數。

  • 如果滿足上述兩個條件,則列印該數字並中斷迴圈。

示例

讓我們看看程式碼。

 線上演示

#include <bits/stdc++.h>
using namespace std;
bool isTriangular(int n) {
   if (n < 0) {
      return false;
   }
   int sum = 0;
   for (int i = 1; sum <= n; i++) {
      sum += i;
      if (sum == n) {
         return true;
      }
   }
   return false;
}
int divisiorsCount(int n) {
   int count = 0;
   for (int i = 1; i <= n; i++) {
      if (n % i == 0) {
         count += 1;
      }
   }
   return count;
}
int main() {
   int n = 2, i = 1;
   while (true) {
      if (isTriangular(i) && divisiorsCount(i) > 2) {
         cout << i << endl;
         break;
      }
      i += 1;
   }
   return 0;
}

輸出

如果執行以上程式碼,則會得到以下結果。

6

結論

如果您在本教程中遇到任何疑問,請在評論區提出。

更新於:2020年12月29日

瀏覽量:109

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告