কম্পিউটার

C++ এ বর্গ সংখ্যার যোগফল


ধরুন আমাদের একটি অ-ঋণাত্মক পূর্ণসংখ্যা c আছে, আমাদেরকে সিদ্ধান্ত নিতে হবে যে দুটি পূর্ণসংখ্যা a এবং b আছে কিনা যাতে এটি a^2 + b^2 =c সন্তুষ্ট করে।

সুতরাং, যদি ইনপুটটি 61 এর মত হয়, তাহলে আউটপুটটি True হবে, যেমন 61 =5^2 + 6^2।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • একটি ফাংশন isPerfect() সংজ্ঞায়িত করুন, এটি x,

    লাগবে
  • sr :=x

    এর বর্গমূল
  • (sr - sr-এর ফ্লোর) 0

    হলে true রিটার্ন করুন
  • প্রধান পদ্ধতি থেকে নিম্নলিখিতগুলি করুন,

  • যদি c 0 এর সমান হয়, তাহলে −

    • প্রত্যাবর্তন সত্য

  • আরম্ভ করার জন্য i :=0, যখন i

    • b :=c - i * i

    • যদি isPerfect(b) সত্য হয়, তাহলে -

      • প্রত্যাবর্তন সত্য

  • ফেরত মিথ্যা

উদাহরণ

আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   bool isPerfect(int x){
      long double sr = sqrt(x);
      return ((sr - floor(sr)) == 0);
   }
   bool judgeSquareSum(int c) {
      if (c == 0)
         return true;
      int b;
      for (int i = 0; i < ceil(sqrt(c)); i++) {
         b = c - i * i;
         if (isPerfect(b))
            return true;
      }
      return false;
   }
};
main(){
   Solution ob;
   cout << (ob.judgeSquareSum(61));
}

ইনপুট

61

আউটপুট

1

  1. C++ এ Tetranacci সংখ্যা

  2. C++ এ অ্যালিকোট যোগফল?

  3. প্রাকৃতিক সংখ্যার যোগফল গণনা করার জন্য C++ প্রোগ্রাম

  4. দুই নম্বর যোগ করার জন্য C++ প্রোগ্রাম