ปัญหา:
ค้นหาจำนวนของศูนย์นำหน้าในจำนวนเต็มแบบ 64 บิต
กฎ:
- อินพุตไม่สามารถถือเป็นสตริงได้ มันสามารถเป็นอะไรก็ได้ที่การดำเนินการทางคณิตศาสตร์และ bitwise เป็นตัวผลักดันอัลกอริธึม
- เอาต์พุตควรตรวจสอบความถูกต้องกับการแสดงตัวเลขจำนวนเต็มแบบ 64 บิตของหมายเลขโดยไม่คำนึงถึงภาษา
- ใช้กฎของรหัสกอล์ฟเริ่มต้น
- รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
กรณีทดสอบ:
การทดสอบเหล่านี้ถือว่าเป็นจำนวนเต็มแบบเต็มของสองส่วน หากภาษา / การแก้ปัญหาของคุณขาดหรือใช้การแทนจำนวนเต็มที่ลงนามแตกต่างกันโปรดโทรออกและแจ้งกรณีทดสอบเพิ่มเติมที่อาจเกี่ยวข้อง ฉันได้รวมกรณีทดสอบบางข้อที่กล่าวถึงความแม่นยำสองเท่า แต่โปรดอย่าลังเลที่จะแนะนำรายการอื่น ๆ ที่ควรแสดง
input output 64-bit binary representation of input (2's complement)
-1 0 1111111111111111111111111111111111111111111111111111111111111111
-9223372036854775808 0 1000000000000000000000000000000000000000000000000000000000000000
9223372036854775807 1 0111111111111111111111111111111111111111111111111111111111111111
4611686018427387903 2 0011111111111111111111111111111111111111111111111111111111111111
1224979098644774911 3 0001000011111111111111111111111111111111111111111111111111111111
9007199254740992 10 0000000000100000000000000000000000000000000000000000000000000000
4503599627370496 11 0000000000010000000000000000000000000000000000000000000000000000
4503599627370495 12 0000000000001111111111111111111111111111111111111111111111111111
2147483648 32 0000000000000000000000000000000010000000000000000000000000000000
2147483647 33 0000000000000000000000000000000001111111111111111111111111111111
2 62 0000000000000000000000000000000000000000000000000000000000000010
1 63 0000000000000000000000000000000000000000000000000000000000000001
0 64 0000000000000000000000000000000000000000000000000000000000000000
False
แทนได้0
ไหม