কম্পিউটার টিউটোরিয়াল

ঘনের যোগফল N হলে অর্ডারড জোড়া (a,b) গণনা C++-এ


একটি সংখ্যা 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 বাড়ানো হয়।
C++ কোড উদাহরণ
#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 হলে জোড়ার সংখ্যা: ২
  1. n ডিজিটের সংখ্যা যাদের ডিজিট সম দেওয়া সমের সমান (C++)

  2. বাইনারি ট্রিতে জোড়া গণনা যাদের যোগফল x C++-এ

  3. ফিবোনাচ্চি সংখ্যা যেন করা নোডের ওজন এবং X-এর যোগফল C++-এ

  4. C++-এ দুটি BST-র নোড জোড়া যাদের যোগফল x গণনা