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
結論
如果您在本教程中遇到任何疑問,請在評論區提出。
廣告