इस समस्या में, हमें दो संख्याएँ दी गई हैं और हमें यूलर की चार वर्ग पहचान का उपयोग करके संख्याओं का गुणनफल खोजने की आवश्यकता है।
यूलर की चार वर्ग पहचान दो संख्याओं के गुणनफल को खोजने की विधि है जिसे चार वर्गों के योग का उपयोग करके दर्शाया जा सकता है संख्या का यदि संख्याओं को चार वर्गों के योग के रूप में दर्शाया जा सकता है।
उत्पाद a * b को चार वर्गों के योग के रूप में दर्शाया जा सकता है यदि
a =x1
2
+ x2
2
+ x3
2
+ x4
2
b =y1
2
+ y2
2
+ y3
2
+ y4
2
a * b =z1
2
+ z2
2
+ z3
2
+ z4
2
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट:
ए =54 =2*2 + 3*3 + 4*4 + 5*5
बी =10 =1*1 + 2*2 + 1*1 + 2*2
आउटपुट: 1*1 + 1*1 + 3*3 + 23*23
स्पष्टीकरण:
a और b का गुणनफल =540,
जिसे कई तरह से दर्शाया जा सकता है। हम यहां एक समाधान पर विचार करेंगे,
540 =1*1 + 1*1 + 3*3 + 23*23 =1 + 1 + 9 + 529
समाधान दृष्टिकोण -
समस्या को हल करने के लिए चार वर्ग संयोजनों में से प्रत्येक को आजमाने के लिए परीक्षण विधि का उपयोग करके समस्या का एक आसान समाधान है। इसके लिए हम नेस्टेड लूप का उपयोग करेंगे, प्रत्येक वर्ग मान के लिए एक नेस्टेड लूप। और फिर परिकलित मान ज्ञात करें और योग प्रतिनिधित्व के सभी संभावित संयोजनों को प्रिंट करें।
यह समाधान थोड़ा जटिल है और समय जटिलता क्रम की है
O((a*b)
4
)
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#includeनेमस्पेस का उपयोग कर std;void findEulerSquareNumberValue(int a, int b) { int prod =a * b; इंट समस्क्वेयर =0; for (int x =0; x <=sqrt(prod); x++) { for (int y =x; y <=sqrt(prod); y++) { for (int z =y; z <=sqrt(prod); z++) { के लिए (int k =z; k <=sqrt(prod); k++) { sumSquare =(x*x) + (y*y) + (z*z) + (k*k); अगर (sumSquare ==prod) { cout<<"उत्पाद "< आउटपुट -
a =(2*2) + (3*3) + (4*4) + (5*5) =54b =(1*1) + (2*2) + (1*1) + ( 2*2) =10 उत्पाद 54*10 =540 को 1*1 + 1*1 + 3*3 + 23*23 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1*1 + 3*3 + 13*13 + 19 के रूप में दर्शाया गया है *19उत्पाद 54*10 =540 को 1*1 + 5*5 + 15*15 + 17*17 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1*1 + 7*7 + 7*7 + 21*21 के रूप में दर्शाया गया है, उत्पाद 54 *10 =540 को 1*1 + 9*9 + 13*13 + 17*17 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 2*2 + 4*4 + 6*6 + 22*22 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 2*2 + 4*4 + 14*14 + 18*18 उत्पाद 54*10 =540 को 2*2 + 6*6 + 10*10 + 20*20 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 2* के रूप में दर्शाया गया है। 2 + 12*12 + 14*14 + 14*14 उत्पाद 54*10 =540 को 3*3 + 3*3 + 9*9 + 21*21 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 3*3 + 7* के रूप में दर्शाया गया है। 7 + 11*11 + 19*19 उत्पाद 54*10 =540 को 3*3 + 9*9 + 15*15 + 15*15 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 3*3 + 11*11 + 11* के रूप में दर्शाया गया है। 11 + 17*17 उत्पाद 54*10 =540 को 4*4 + 10*10 + 10*10 + 18*18 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 r 5*5 + 5*5 + 7*7 + 21*21 के रूप में प्रस्तुत उत्पाद 54*10 =540 को 5*5 + 11*11 + 13*13 + 15*15 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 6* के रूप में दर्शाया गया है। 6 + 6*6 + 12*12 + 18*18 उत्पाद 54*10 =540 को 7*7 + 7*7 + 9*9 + 19*19 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 7*7 + 9* के रूप में दर्शाया गया है। 9 + 11*11 + 17*17 उत्पाद 54*10 =540 को 9*9 + 11*11 + 13*13 + 13*13 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 10*10 + 10*10 + 12* के रूप में दर्शाया गया है। 12 + 14*14एक और कम समय की जटिलता के साथ समस्या को हल करने की विधि तीन नेस्टेड लूप का उपयोग कर रही है और आगे के मान की जांच कर रही है, यदि शेष संख्या पूर्ण वर्ग है, तो मूल मान चौथा नंबर है अन्यथा समाधान संभव नहीं है। यह विधि संभवतः आगे के लूप को हटा देगी और समाधान को प्रभावी बना देगी।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#includeनेमस्पेस का उपयोग कर std;void findEulerSquareNumberValue(int a, int b) { int prod =a * b; इंट समस्क्वेयर =0; for (int x =0; x <=sqrt(prod); x++) { for (int y =x; y <=sqrt(prod); y++) { for (int z =y; z <=sqrt(prod); z++) { sumSquare =(x*x) + (y*y) + (z*z); फ्लोट के =वर्ग (उत्पाद - समस्क्वेयर); if (floor(k) ==ceil(k)) { cout<<"उत्पाद "< आउटपुट -
a =(2*2) + (3*3) + (4*4) + (5*5) =54b =(1*1) + (2*2) + (1*1) + ( 2*2) =10 उत्पाद 54*10 =540 को 1*1 + 1*1 + 3*3 + 23*23 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1*1 + 1*1 + 23*23 + 3 के रूप में दर्शाया गया है *3उत्पाद 54*10 =540 को 1*1 + 3*3 + 13*13 + 19*19 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1*1 + 3*3 + 19*19 + 13*13 उत्पाद 54 के रूप में दर्शाया गया है। *10 =540 को 1*1 + 3*3 + 23*23 + 1*1 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1*1 + 5*5 + 15*15 + 17*17 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 1*1 + 5*5 + 17*17 + 15*15 उत्पाद 54*10 =540 को 1*1 + 7*7 + 7*7 + 21*21 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1* के रूप में दर्शाया गया है। 1 + 7*7 + 21*21 + 7*7उत्पाद 54*10 =540 को 1*1 + 9*9 + 13*13 + 17*17 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1*1 + 9* के रूप में दर्शाया गया है। 9 + 17*17 + 13*13 उत्पाद 54*10 =540 को 1*1 + 13*13 + 17*17 + 9*9 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 1*1 + 13*13 + 19* के रूप में दर्शाया गया है। 19 + 3*3उत्पाद 54*10 =540 को 1*1 + 15*15 + 17*17 + 5*5 उत्पाद 54*10 =540 के रूप में दर्शाया गया है 2*2 + 4*4 + 6*6 + 22*22 उत्पाद 54*10 =540 को 2*2 + 4*4 + 14*14 + 18*18 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 2* के रूप में दर्शाया गया है। 2 + 4*4 + 18*18 + 14*14 उत्पाद 54*10 =540 को 2*2 + 4*4 + 22*22 + 6*6 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 2*2 + 6* के रूप में दर्शाया गया है। 6 + 10*10 + 20*20उत्पाद 54*10 =540 को 2*2 + 6*6 + 20*20 + 10*10 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 2*2 + 6*6 + 22* के रूप में दर्शाया गया है। 22 + 4*4 उत्पाद 54*10 =540 को 2*2 + 10*10 + 20*20 + 6*6 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 2*2 + 12*12 + 14*14 + 14* के रूप में दर्शाया गया है। 14उत्पाद 54*10 =540 को 2*2 + 14*14 + 14*14 + 12*12 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 2*2 + 14*14 + 18*18 + 4*4उत्पाद 54* के रूप में दर्शाया गया है। 10 =540 को 3*3 + 3*3 + 9*9 + 21*21 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 3*3 + 3*3 + 21*21 + 9*9 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को दर्शाया गया है। 3*3 + 7*7 + 11*11 + 19*19 के रूप में उत्पाद 54*10 =540 को 3*3 + 7*7 + 19*19 + 11*11 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 3*3 के रूप में दर्शाया गया है। + 9*9 + 15*15 + 15*15उत्पाद 54* 10 =540 को 3*3 + 9*9 + 21*21 + 3*3 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 3*3 + 11*11 + 11*11 + 17*17 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को दर्शाया गया है। 3*3 + 11*11 + 17*17 + 11*11 के रूप में उत्पाद 54*10 =540 को 3*3 + 11*11 + 19*19 + 7*7 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 3*3 के रूप में दर्शाया गया है + 13*13 + 19*19 + 1*1उत्पाद 54*10 =540 को 3*3 + 15*15 + 15*15 + 9*9 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 4*4 + 6*6 के रूप में दर्शाया गया है + 22*22 + 2*2उत्पाद 54*10 =540 को 4*4 + 10*10 + 10*10 + 18*18 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 4*4 + 10*10 + 18*18 के रूप में दर्शाया गया है + 10*10उत्पाद 54*10 =540 को 4*4 + 14*14 + 18*18 + 2*2 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 5*5 + 5*5 + 7*7 + 21*21 के रूप में दर्शाया गया है। उत्पाद 54*10 =540 को 5*5 + 5*5 + 21*21 + 7*7 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 5*5 + 7*7 + 21*21 + 5*5उत्पाद 54*10 के रूप में दर्शाया गया है =540 को 5*5 + 11*11 + 13*13 + 15*15 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 5*5 + 11*11 + 15*15 + 13*13 उत्पाद 54*10 =540 के रूप में दर्शाया गया है 5*5 + 13*13 + 15*15 + 11*11 उत्पाद 54*10 =540 को 5*5 + 15*15 + 17*17 + 1*1 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 6*6 + 6*6 + 12*12 + के रूप में दर्शाया गया है। 18*18उत्पाद 54*10 =540 को 6*6 + 6*6 + 18*18 + 12*12 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 6*6 + 10*10 + 20*20 + 2*2 के रूप में दर्शाया गया है। 54*10 =540 को 6*6 + 12*12 + 18*18 + 6*6 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 7*7 + 7*7 + 9*9 + 19*19 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 7*7 + 7*7 + 19*19 + 9*9 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 7*7 + 7*7 + 21*21 + 1*1 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 7 के रूप में दर्शाया गया है। *7 + 9*9 + 11*11 + 17*17 उत्पाद 54*10 =540 को 7*7 + 9*9 + 17*17 + 11*11 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 7*7 + 9 के रूप में दर्शाया गया है *9 + 19*19 + 7*7उत्पाद 54*10 =540 को 7*7 + 11*11 + 17*17 + 9*9 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 7*7 + 11*11 + 19 के रूप में दर्शाया गया है *19 + 3*3उत्पाद 54*10 =540 को 9*9 + 11*11 + 13*13 + 13*13 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 9*9 + 11*11 + 17*17 + 7 के रूप में दर्शाया गया है *7उत्पाद 54*10 =540 प्रतिनिधित्व करते हैं एड के रूप में 9*9 + 13*13 + 13*13 + 11*11उत्पाद 54*10 =540 को 9*9 + 13*13 + 17*17 + 1*1उत्पाद 54*10 =540 को 9* के रूप में दर्शाया गया है। 9 + 15*15 + 15*15 + 3*3उत्पाद 54*10 =540 को 10*10 + 10*10 + 12*12 + 14*14 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 10*10 + 10* के रूप में दर्शाया गया है। 10 + 14*14 + 12*12उत्पाद 54*10 =540 को 10*10 + 10*10 + 18*18 + 4*4 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 10*10 + 12*12 + 14* के रूप में दर्शाया गया है। 14 + 10*10उत्पाद 54*10 =540 को 11*11 + 11*11 + 17*17 + 3*3 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 11*11 + 13*13 + 13*13 + 9* के रूप में दर्शाया गया है। 9उत्पाद 54*10 =540 को 11*11 + 13*13 + 15*15 + 5*5 के रूप में दर्शाया गया है, उत्पाद 54*10 =540 को 12*12 + 14*14 + 14*14 + 2*2 के रूप में दर्शाया गया है।>