ได้รับจำนวนเต็มคุณต้องไปหาจำนวนขั้นต่ำของบิตที่จะต้องมีการคว่ำในจะทำให้มันกลายเป็นจำนวนตาราง คุณได้รับอนุญาตให้สลับบิตด้านล่างที่สำคัญที่สุดเท่านั้นN
ตัวอย่าง
- แล้วเป็นจำนวนตาราง ( ) เพื่อการส่งออกที่คาดว่าจะเป็น0 0
- สามารถเปิดเป็นจำนวนตารางโดย inverting 1 บิต: ( ) เพื่อการส่งออกที่คาดว่าจะเป็น1 25 = 5 2 1
- ไม่สามารถเปลี่ยนเป็นจำนวนตารางได้โดยแปลงกลับเป็นบิตเดียว (ผลลัพธ์ที่เป็นไปได้คือ , ,และ ) แต่สามารถทำได้โดยสลับกลับ 2 บิต: ( ) เพื่อการส่งออกที่คาดว่าจะเป็น220 18 30 10110 → 10 0 0 0 16 = 4 2 2
กฎระเบียบ
- มันเป็นเรื่องที่ดีถ้ารหัสของคุณช้าเกินไปหรือเกิดข้อผิดพลาดสำหรับกรณีทดสอบที่ใหญ่กว่า แต่อย่างน้อยควรรองรับในเวลาน้อยกว่า 1 นาที
- นี่คือรหัสกอล์ฟ !
กรณีทดสอบ
Input | Output
----------+--------
4 | 0
22 | 2
24 | 1
30 | 3
94 | 4
831 | 5
832 | 1
1055 | 4
6495 | 6
9999 | 4
40063 | 6
247614 | 7 (smallest N for which the answer is 7)
1049310 | 7 (clear them all!)
7361278 | 8 (smallest N for which the answer is 8)
100048606 | 8 (a bigger "8")
หรือในรูปแบบที่เป็นมิตรคัดลอก / วาง:
[4,22,24,30,94,831,832,1055,6495,9999,40063,247614,1049310,7361278,100048606]
100048606
กับ TIO นั่นเป็นปัญหาหรือไม่