हमें एक संख्या N दी गई है। लक्ष्य धनात्मक संख्याओं के क्रमित जोड़े ढूंढना है जैसे कि उनके घनों का योग N हो।
हम इसे समीकरण a³ + b³ = N के समाधान ढूंढकर करेंगे। जहां a, N के घनमूल से अधिक नहीं है और b की गणना (N-a³) के घनमूल के रूप में की जा सकती है।
उदाहरण से समझते हैं
इनपुट
N=35
आउटपुट
(a,b) के जोड़े की संख्या जहां a³+b³=N: 2
व्याख्या
जोड़े होंगे (2,3) और (3,2)। 2³+3³=8+27=35
इनपुट
N=100
आउटपुट
(a,b) के जोड़े की संख्या जहां a³+b³=N: 0
व्याख्या
ऐसे कोई जोड़े संभव नहीं हैं।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम पूर्णांक N लेते हैं।
फ़ंक्शन cubeSum(int n) n लेता है और घनों का योग n होने वाले क्रमित जोड़े की संख्या लौटाता है।
प्रारंभिक चर count को 0 से आरंभ करें जोड़ों के लिए।
a ढूंढने के लिए फॉर लूप का उपयोग करके पार करें।
a=1 से a<=cbrt(n) तक शुरू करें जो n का घनमूल है।
b के घन की गणना n-pow(a,3) के रूप में करें।
b की गणना cbrt(bcube) के रूप में करें।
यदि pow(b,3)==bcube। काउंट को 1 से बढ़ाएं।
सभी लूप के अंत में काउंट में ऐसे जोड़ों की कुल संख्या होगी।
काउंट को परिणाम के रूप में लौटाएं।
उदाहरण
#include <bits/stdc++.h> #include <math.h> using namespace std; int cubeSum(int n){ int count = 0; for (int a = 1; a < cbrt(n); a++){ int bcube=n - (pow(a,3)); int b = cbrt(bcube); if(pow(b,3)==bcube) { count++; } } return count; } int main(){ int N = 35; cout <<"(a,b) के जोड़े की संख्या जहां a³+b³=N: "<<cubeSum(N); return 0; } आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
(a,b) के जोड़े की संख्या जहां a³+b³=N: 2