আমাদের একটি সংখ্যা দেওয়া হয়েছে। লক্ষ্য হল ধনাত্মক সংখ্যার ক্রমযুক্ত জোড়া খুঁজে বের করা যাতে তাদের বর্গের যোগফল হয় N।
আমরা a 2 সমীকরণের সমাধান খুঁজে বের করে এটি করব + b 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=1 থেকে শুরু করে a<=sqrt(n) যা n এর বর্গমূল।
-
n-pow(a,2) হিসাবে b এর বর্গ গণনা করুন।
-
b কে sqrt(bsquare)
হিসাবে গণনা করুন -
যদি pow(b,2)==bsquare. 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