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

C++-এ বর্গ সংখ্যার যোগফল (Sum of Square Numbers)

একটি নন-নেগেটিভ পূর্ণসংখ্যা c দেওয়া আছে। চেক করতে হবে দুটি পূর্ণসংখ্যা a এবং b আছে কিনা যাতে a² + b² = c সিদ্ধ হয়।

ইনপুট ৬১ হলে আউটপুট True, কারণ ৬১ = ৫² + ৬²।

সমাধানের ধাপসমূহ

  • isPerfect() ফাংশন: x-এ পূর্নবর্গ কিনা চেক করুন (sqrt(x) - floor(sqrt(x)) == 0)
  • যদি c == 0 হয়, true রিটার্ন করুন
  • i := 0 থেকে ceil(sqrt(c)) পর্যন্ত:
    • b := c - i*i
    • যদি isPerfect(b) true হয়, true রিটার্ন করুন
  • false রিটার্ন করুন

উদাহরণ

#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;
    }
};
int main(){
    Solution ob;
    cout << (ob.judgeSquareSum(61));
}

ইনপুট

61

আউটপুট

1
  1. C++-এ টেট্রান্যাচি নাম্বার জেনারেট করা

  2. C++-এ অ্যালিকোট সম (Aliquot Sum)

  3. C++ প্রোগ্রাম: প্রাকৃতিক সংখ্যাগুলোর যোগফল (Sum of Natural Numbers)

  4. C++ প্রোগ্রাম: দুটি সংখ্যা যোগ করা (Addition)