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

পাইথনে দুটি ইন্টিজারের যোগফল (অপারেটর ছাড়া)

দুটি ইন্টিজার a এবং b-র যোগফল বের করতে হবে, কিন্তু + বা - অপারেটর ব্যবহার করা যাবে না। বিটওয়াইজ অপারেশন ব্যবহার করে সমাধান করতে হবে। উদাহরণ: a=5, b=7 → ১২।

সমাধানের পদ্ধতি

  1. বিটওয়াইজ XOR (^) এবং AND (&) ব্যবহার করুন।
  2. রিকারসিভ ফর্মুলা: getSum(a, b) = getSum(a ^ b, (a & b) << 1)।
  3. বেস কেস: b == 0 হলে a রিটার্ন করুন।

উদাহরণ কোড (C++)

#include 
using namespace std;
class Solution {
public:
    int getSum(int a, int b) {
        return b == 0 ? a : getSum(a ^ b, (unsigned int)(a & b) << 1);
    }
};
main(){
    Solution ob;
    cout << ob.getSum(5, 7) << endl;
}

ইনপুট

a = 5 b = 7

আউটপুট

12
  1. পাইথনে দুটি অ্যারের ইন্টারসেকশন II

  2. পাইথনে বাইনারি ট্রিতে পাথ সাম (Path Sum)

  3. পাইথনে টু সাম (Two Sum)

  4. পাইথনে ইন্টিজার স্ট্রিংকে কমপ্লেক্স নাম্বারে আনপ্যাক কীভাবে করবেন?