কম্পিউটার

জোড়া গণনা করুন (a, b) যার বর্গক্ষেত্রের যোগফল C++ এ N (a^2 + b^2 =N)


আমাদের একটি সংখ্যা দেওয়া হয়েছে। লক্ষ্য হল ধনাত্মক সংখ্যার ক্রমযুক্ত জোড়া খুঁজে বের করা যাতে তাদের বর্গের যোগফল হয় 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

  1. n সংখ্যার সংখ্যার সংখ্যা যার অঙ্কের যোগফল C++ এ প্রদত্ত যোগফলের সমান

  2. একটি বাইনারি গাছে জোড়া গণনা করুন যার যোগফল C++ এ একটি প্রদত্ত মানের x এর সমান

  3. নোডগুলি গণনা করুন যার সমষ্টি X এর সাথে C++ এ একটি ফিবোনাচি সংখ্যা

  4. দুটি BST থেকে জোড়া গণনা করুন যার যোগফল C++ এ একটি প্রদত্ত মানের x এর সমান