मान लीजिए कि हमारे पास एक संख्या n है। हमें यह जांचना है कि संख्या त्रिकोणीय संख्या है या नहीं। जैसा कि हम जानते हैं, यदि n बिंदुओं (या गेंदों) को एक समबाहु त्रिभुज बनाने के लिए परतों में व्यवस्थित किया जा सकता है तो n एक त्रिभुज संख्या है।
इसलिए, यदि इनपुट n =10 जैसा है, तो आउटपुट ट्रू होगा।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
for initialize i := 1, when i <= n, update (increase i by 1), do: if i * (i + 1) is same as 2 * n, then: return true return false
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h>
using namespace std;
bool solve(int n){
for (int i = 1; i <= n; i++){
if (i * (i + 1) == 2 * n){
return true;
}
}
return false;
}
int main(){
int n = 10;
cout << solve(n) << endl;
} इनपुट
10
आउटपुट
1