ตัวเลขแฟร์มาต์เป็นจำนวนเต็มบวกที่สามารถแสดงเป็น 2 2 x +1 ด้วยจำนวนเต็ม x
ให้เรากำหนดคุณลักษณะของจำนวนที่เรียกว่า "แฟร์มาต์เนส":
- แฟร์มาต์ของจำนวนนั้นน้อยกว่าความยาวของห่วงโซ่แห่งพลังทั้งสองเริ่มต้นจากฐานด้วยพลังของทั้งสองขยายตัวเพื่อเพิ่มความสมบูรณ์ของแฟร์มาต์
- หมายเลขที่ไม่ใช่หมายเลขแฟร์มาต์มีจำนวนแฟร์มาต์เป็นศูนย์
ดังนั้น 17 (= 2 2 2 2 0 +1) มีแฟร์มาต์สามคน
ท้าทาย
รับจำนวนเต็มบวกที่ไม่ใช่ศูนย์เป็นอินพุตส่งออกแฟร์มาต์ของจำนวน
กฎระเบียบ
- คุณสามารถรับอินพุตเป็นเลขฐานสองทศนิยมฐานสิบหกเป็นค่าขยายหรือรูปแบบใดก็ตามที่ช่วยให้คุณตีกอล์ฟได้ดีที่สุด
- โซลูชันของคุณจะต้องสามารถประมวลผลหมายเลขที่มีความยาวบิตมากกว่า 64 ไม่ว่าคุณจะใช้วิธีใด
- จำนวนเต็มไม่ใช่ค่าลบเท่านั้น
- แน่นอนช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดจึงชนะ
กรณีทดสอบ
input->output
เหล่านี้อยู่ในรูปแบบ อินพุตอยู่ในเลขฐานสิบหกเพื่อประหยัดพื้นที่
10000000000000000000000000000000000000000000000000000000000000001 -> 2
1000000000000BC00000000000000000000000000000000001000000000000001 ->0
1234567890ABCDEF -> 0
100000000000000000000000000000001 -> 1
5 -> 2
11 -> 3
10001 -> 4
101 -> 1
ทศนิยมเหมือนกัน:
115792089237316195423570985008687907853269984665640564039457584007913129639937 -> 2
115792089237316497527923305698859709742143344804209838213621568094470773145601 -> 0
1311768467294899695 -> 0
340282366920938463463374607431768211457 -> 1
5 ->2
17 -> 3
65537 -> 4
257 -> 1
ขอบคุณgeokavelสำหรับการป้อนข้อมูลที่ทรงคุณค่าในกล่องทราย