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

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


একটি সংখ্যা N দেওয়া আছে। লক্ষ্য হল ধনাত্মক সংখ্যা a,b এর অর্ডারড জোড়া যাতে a² + b² = N, তাদের সংখ্যা বের করা।

a = 1 থেকে sqrt(N) পর্যন্ত লুপ চালিয়ে b² = N - a² হিসাব করা হয়। b = sqrt(b²) হলে সেটি বৈধ জোড়া।

উদাহরণ

ইনপুট: N=100

আউটপুট: জোড়ার সংখ্যা: ২

ব্যাখ্যা: (6,8) এবং (8,6) — ৬²+৮²=৩৬+৬৪=১০০

ইনপুট: N=11

আউটপুট: জোড়ার সংখ্যা: ০

প্রোগ্রামে ব্যবহৃত পদ্ধতি
  • পূর্ণসংখ্যা N নেওয়া হয়।
  • squareSum(int n) ফাংশন জোড়ার কাউন্ট রিটার্ন করে।
  • a=1 থেকে sqrt(n) পর্যন্ত লুপে b² = n - a², b = sqrt(b²)।
  • যদি b² == b*b হয়, count বাড়ানো হয়।
C++ কোড উদাহরণ
#include 
#include 
using namespace std;

int squareSum(int n){
    int count = 0;
    for (int a = 1; a <= sqrt(n); a++){
        int bsquare = n - (a*a);
        int b = sqrt(bsquare);
        if(b*b == bsquare){
            count++;
        }
    }
    return count;
}

int main(){
    int N = 5;
    cout << "a^2+b^2=N হলে জোড়ার সংখ্যা: " << squareSum(N);
    return 0;
}
আউটপুট

উপরোক্ত কোড রান করলে আউটপুট (N=5 এর জন্য):

a^2+b^2=N হলে জোড়ার সংখ্যা: ১২২
  1. n ডিজিটের সংখ্যা যাদের ডিজিট সম দেওয়া সমের সমান (C++)

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

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

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