এই সমস্যায়, আমাদের দুটি সংখ্যা দেওয়া হয়েছে এবং আমাদের অয়লারেরচার বর্গ আইডেন্টিটি ব্যবহার করে সংখ্যার গুণফল বের করতে হবে।
অয়লারের ফোর স্কোয়ার আইডেন্টিটি দুটি সংখ্যার গুণফল বের করার পদ্ধতি যা চার বর্গ এর যোগফল ব্যবহার করে উপস্থাপন করা যেতে পারে সংখ্যার সংখ্যা যদি চারটি বর্গক্ষেত্রের সমষ্টি হিসাবে উপস্থাপন করা যায়।
গুণফল 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
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট:
a =54 =2*2 + 3*3 + 4*4 + 5*5
b =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; int sumSquare =0; জন্য (int x =0; x <=sqrt(prod); x++) { (int y =x; y <=sqrt(prod); y++) { এর জন্য (int z =y; z <=sqrt(prod); z++) { (int k =z; k <=sqrt(prod); k++) { sumSquare =(x*x) + (y*y) + (z*z) + (k*k); if (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 হিসাবে উপস্থাপন করা হয়েছে *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; int sumSquare =0; জন্য (int x =0; x <=sqrt(prod); x++) { (int y =x; y <=sqrt(prod); y++) { এর জন্য (int z =y; z <=sqrt(prod); z++) { sumSquare =(x*x) + (y*y) + (z*z); float k =sqrt(prod - sumSquare); যদি ( ফ্লোর(কে) ==সিল(কে)) { 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 হিসাবে উপস্থাপন করা হয়েছে ed হিসাবে 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 প্রতিনিধিত্ব করে ed হিসাবে 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 হিসাবে উপস্থাপন করা হয়েছে>