Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ผลรวมของจำนวนเต็มสองตัวใน Python


สมมติว่าเรามีจำนวนเต็มสองตัว a และ b งานของเราคือการหาผลรวมของจำนวนเต็มสองตัวนี้ ข้อจำกัดอย่างหนึ่งคือ เราไม่สามารถใช้ตัวดำเนินการใดๆ เช่น + หรือ - ดังนั้นถ้า a =5 และ b =7 ผลลัพธ์จะเป็น 12

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับการแก้ปัญหา เราจะใช้ตัวดำเนินการเชิงตรรกะระดับบิต
  • ถ้า b =0 ให้คืนค่า a
  • มิฉะนั้น ให้ใช้ฟังก์ชันผลรวมซ้ำโดยระบุ XOR b และ a AND b หลังจากเลื่อนผลลัพธ์ไปทางซ้ายหนึ่งครั้ง

ตัวอย่าง (Python)

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#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