परिचय
इस ट्यूटोरियल में हम एक ऐसी त्रिकोणीय (triangular) संख्या ढूंढेंगे जिसके भाजकों (divisors) की संख्या 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 divisorsCount(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) && divisorsCount(i) > 2) {
cout << i << endl;
break;
}
i += 1;
}
return 0;
}
आउटपुट
6
निष्कर्ष
6 पहली त्रिकोणीय संख्या है जिसके 2 से अधिक भाजक हैं (1, 2, 3, 6)। यह दृष्टिकोण ब्रूट-फोर्स है; बड़ी संख्याओं के लिए अधिक अनुकूलित एल्गोरिदम की आवश्यकता होती है। यदि आपके कोई प्रश्न हैं, तो कमेंट सेक्शन में पूछें।