কম্পিউটার

পাইথনে দুটি পূর্ণসংখ্যার যোগফল


ধরুন আমাদের দুটি পূর্ণসংখ্যা a এবং b আছে। আমাদের কাজ হল এই দুটি পূর্ণসংখ্যার যোগফল বের করা। একটি সীমাবদ্ধতা হল, আমরা কোন অপারেটর যেমন + বা - ব্যবহার করতে পারি না। সুতরাং a =5 এবং b =7 হলে, ফলাফল হবে 12।

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

  • সমাধানের জন্য আমরা বিটওয়াইজ লজিক্যাল অপারেটর ব্যবহার করব
  • যদি b =0 হয়, তাহলে a ফেরত দিন
  • অন্যথায়, ফলাফলটি একবার বাম স্থানান্তরের পরে একটি XOR b এবং a AND b প্রদান করে যোগফল ফাংশনটি পুনরাবৃত্তিমূলকভাবে ব্যবহার করুন

উদাহরণ (পাইথন)

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

#include <iostream>
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. পাইথনে পাথ সাম

  3. পাইথনে দুই যোগফল

  4. কিভাবে আমরা পাইথনে জটিল সংখ্যায় পূর্ণসংখ্যার একটি স্ট্রিং আনপ্যাক করতে পারি?