একটি সংখ্যা N দেওয়া আছে। লক্ষ্য হল ধনাত্মক সংখ্যা a,b এর অর্ডারড জোড়া যাতে a³ + b³ = N, তাদের সংখ্যা বের করা।
a = 1 থেকে cbrt(N) পর্যন্ত লুপ চালিয়ে b³ = N - a³ হিসাব করা হয়। b = cbrt(b³) হলে সেটি বৈধ জোড়া।
ইনপুট: N=35
আউটপুট: জোড়ার সংখ্যা: ২
ব্যাখ্যা: (2,3) এবং (3,2) — ২³+৩³=৮+২৭=৩৫
ইনপুট: N=100
আউটপুট: জোড়ার সংখ্যা: ০
- পূর্ণসংখ্যা N নেওয়া হয়।
cubeSum(int n)ফাংশন জোড়ার কাউন্ট রিটার্ন করে।- a=1 থেকে cbrt(n) পর্যন্ত লুপে bcube = n - a³, b = cbrt(bcube)।
- যদি b³ == bcube হয়, count বাড়ানো হয়।
#include#include using namespace std; int cubeSum(int n){ int count = 0; for (int a = 1; a <= cbrt(n); a++){ int bcube = n - (a*a*a); int b = cbrt(bcube); if(b*b*b == bcube){ count++; } } return count; } int main(){ int N = 35; cout << "a^3+b^3=N হলে জোড়ার সংখ্যা: " << cubeSum(N); return 0; }
উপরোক্ত কোড রান করলে আউটপুট:
a^3+b^3=N হলে জোড়ার সংখ্যা: ২