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

โปรแกรมเพื่อแบ่งพาร์ติชั่นเป็นเลขฐานสองขั้นต่ำใน Python


สมมติว่าเรามีตัวเลข n ในรูปแบบสตริง เราต้องหาเลขฐานสองขั้นต่ำที่ต้องการ, เพื่อให้มีผลรวมเท่ากับ n เลขฐานสองเป็นเลขฐานสองที่มีตัวเลขเป็น 0 หรือ 1

ดังนั้น หากอินพุตเป็นเหมือน n ="132" ผลลัพธ์จะเป็น 3 เพราะ 132 เป็นผลรวมของเลขทศนิยมสามตัว (10 + 11 + 111)

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

  • ผลลัพธ์ :=1
  • สำหรับแต่ละ i ใน n ทำ
    • ถ้าฉันไม่ได้อยู่ใน {0,1} แล้ว
      • ผลลัพธ์ :=สูงสุดของผลลัพธ์และฉัน
  • ผลตอบแทน

ตัวอย่าง

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

def solve(n):
   result = 1
   for i in n:
      if i not in {0,1}:
         result = max(result, int(i))
   return result

n = "132"
print(solve(n))

อินพุต

132

ผลลัพธ์

3