Computer >> Máy Tính >  >> Lập trình >> Python

Số nguyên tố của bộ bit trong biểu diễn nhị phân trong Python

Giả sử chúng ta có hai số nguyên L và R, chúng ta phải tìm số lượng các số trong phạm vi [L, R] (bao gồm cả) có số nguyên tố các bit đặt ở dạng nhị phân của chúng.

Vì vậy, nếu đầu vào là L =6 và R =10, thì đầu ra sẽ là 4, vì có 4 số 6 (110), 7 (111), 9 (1001), 10 (1010), tất cả đều có số nguyên tố số bit đã đặt.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • số lượng:=0
  • đối với j trong phạm vi từ L đến R, thực hiện
  • nếu số bit đã đặt của j là [2,3,5,7,11,13,17,19] thì
    • count:=count + 1
  • số lần trả lại

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

 class Giải pháp:def countPrimeSetBits (self, L, R):def popcount (i):return bin (i) [2:]. count ('1') count =0 cho j trong phạm vi (L, R + 1):if popcount (j) in [2,3,5,7,11,13,17,19]:count + =1 return countob =Solution () print (ob.countPrimeSetBits (6,10))  

Đầu vào

 6,10 

Đầu ra

 4