เป้าหมาย
กำหนดจำนวนเต็มแบบไม่ลบสร้างฟังก์ชันที่ส่งคืนตำแหน่งเริ่มต้นของจำนวน 1 ที่ใหญ่ที่สุดติดต่อกันในค่าเลขฐานสองของจำนวนเต็มนั้น
เมื่อได้รับการป้อนข้อมูลกลับมา0
0
หากตัวเลขมีหลายเส้นที่มีความยาวเท่ากันคุณจะต้องกลับตำแหน่งของริ้วสุดท้าย
อินพุต
จำนวนเต็มมากกว่าหรือเท่ากับ 0
เอาท์พุต
จำนวนเต็มคำนวณตามที่อธิบายด้านล่าง
กฎระเบียบ
- นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในแต่ละภาษาจะชนะ
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
ตัวอย่างและกรณีทดสอบ
ตัวอย่างที่ 1
- ฟังก์ชันของคุณส่งผ่านจำนวนเต็ม 142
- 142 เท่ากับ 1,0001110 ในไบนารี
- แนวที่ยาวที่สุดคือ "111" (แนวของสามเส้น)
- แนวเริ่มต้นที่ตำแหน่ง 2 ^ 1
- ฟังก์ชันของคุณจะคืนค่า 1 ตามผลลัพธ์
ตัวอย่างที่ 2
- ฟังก์ชันของคุณผ่านจำนวนเต็ม 48
- 48 เท่ากับ 110000 ในหน่วยไบนารี่
- แนวที่ยาวที่สุดคือ "11" (แนวของสองเส้น)
- แนวเริ่มต้นที่ตำแหน่ง 2 ^ 4
- ฟังก์ชันของคุณจะคืนค่า 4 ตามผลลัพธ์
ตัวอย่างที่ 3
- ฟังก์ชันของคุณผ่านจำนวนเต็ม 750
- 750 เท่ากับ 1011101110 ในไบนารี
- แนวที่ยาวที่สุดคือ "111" (แนวของสามเส้น)
- เนื่องจากมีเส้นริ้วสองเส้นที่มีความยาวเท่ากันเราจึงกลับเป็นริ้วในภายหลัง
- แนวต่อมาเริ่มต้นที่ตำแหน่ง 2 ^ 5
- ฟังก์ชันของคุณคืนค่า 5 ตามผลลัพธ์
0
ตรวจสอบให้แน่ใจทดสอบคน นั่นเป็นกรณีทดสอบที่สำคัญ