আমাদের একটি সংখ্যা দেওয়া হয়েছে। লক্ষ্য হল ধনাত্মক সংখ্যার ক্রমযুক্ত জোড়া খুঁজে বের করা যাতে তাদের ঘনকের যোগফল হয় N।
আমরা a 3 সমীকরণের সমাধান খুঁজে বের করে এটি করব + b 3 =N. যেখানে a N এর ঘনমূলের বেশি নয় এবং b কে (N-a 3 ) এর ঘনমূল হিসাবে গণনা করা যেতে পারে )।
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট
N=35
আউটপুট
Count of pairs of (a,b) where a^3+b^3=N: 2
ব্যাখ্যা
Pairs will be (2,3) and (3,2). 23+33=8+27=35
ইনপুট
N=100
আউটপুট
Count of pairs of (a,b) where a^3+b^3=N: 0
ব্যাখ্যা
No such pairs possible.
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
-
আমরা পূর্ণসংখ্যা N.
নিই -
ফাংশন cubSum(int n) n নেয় এবং n হিসাবে ঘনক্ষেত্রের যোগফল সহ অর্ডার করা জোড়ার গণনা ফেরত দেয়।
-
জোড়ার জন্য প্রাথমিক পরিবর্তনশীল গণনা 0 হিসাবে নিন।
-
একটি খুঁজে পেতে লুপ ব্যবহার করে ট্র্যাভার্স করুন।
-
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 <<"Count of pairs of (a,b) where a^3+b^3=N: "<<cubeSum(N); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of pairs of (a,b) where a^3+b^3=N: 2