สมมติว่าเรามีตัวเลข n ในรูปแบบสตริง เราต้องหาเลขฐานสองขั้นต่ำที่ต้องการ, เพื่อให้มีผลรวมเท่ากับ n เลขฐานสองเป็นเลขฐานสองที่มีตัวเลขเป็น 0 หรือ 1
ดังนั้น หากอินพุตเป็นเหมือน n ="132" ผลลัพธ์จะเป็น 3 เพราะ 132 เป็นผลรวมของเลขทศนิยมสามตัว (10 + 11 + 111)
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ผลลัพธ์ :=1
- สำหรับแต่ละ i ใน n ทำ
- ถ้าฉันไม่ได้อยู่ใน {0,1} แล้ว
- ผลลัพธ์ :=สูงสุดของผลลัพธ์และฉัน
- ถ้าฉันไม่ได้อยู่ใน {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