हमें एक संख्या N दी गई है। लक्ष्य धनात्मक संख्याओं के क्रमित युग्मों को इस प्रकार खोजना है कि उनके वर्गों का योग N हो।
हम समीकरण a 2 . के हल ढूंढ़कर ऐसा करेंगे + ख 2 =N. जहाँ a, N के वर्गमूल से अधिक नहीं है और b की गणना (N-a 2 के वर्गमूल के रूप में की जा सकती है। )।
आइए उदाहरणों से समझते हैं।
इनपुट
N=100
आउटपुट
Count of pairs of (a,b) where a^3+b^3=N: 2
स्पष्टीकरण
Pairs will be (6,8) and (8,6). 62+82=36+64=100
इनपुट
N=11
आउटपुट
Count of pairs of (a,b) where a^3+b^3=N: 0
स्पष्टीकरण
No such pairs possible.
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम पूर्णांक N लेते हैं।
-
फ़ंक्शन वर्गसम (int n) n लेता है और n के रूप में वर्गों के योग के साथ क्रमित जोड़े की संख्या देता है।
-
जोड़े के लिए प्रारंभिक चर गणना को 0 के रूप में लें।
-
लूप के लिए उपयोग करके ट्रैवर्स a.
-
a=1 से a<=sqrt(n) तक शुरू करें जो n का वर्गमूल है।
-
b के वर्ग को n-pow(a,2) के रूप में परिकलित करें।
-
b को sqrt(bsquare) के रूप में परिकलित करें
-
अगर पाउ(बी,2)==बीवर्ग. वेतन वृद्धि की संख्या 1.
-
सभी लूपों के अंत में गिनती में ऐसे जोड़ों की कुल संख्या होगी।
-
परिणाम के रूप में गिनती लौटाएं।
उदाहरण
#include <bits/stdc++.h> #include <math.h> using namespace std; int squareSum(int n){ int count = 0; for (int a = 1; a <= sqrt(n); a++){ int bsquare=n - (pow(a,2)); int b = sqrt(bsquare); if(pow(b,2)==bsquare){ count++; cout<<a; } } return count; } int main(){ int N =5; cout <<"Count of pairs of (a,b) where a^2+b^2=N: "<<squareSum(N); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of pairs of (a,b) where a^2+b^2=N: 122