ความท้าทายของคุณหากคุณเลือกที่จะรับมันคือได้รับจำนวนเต็มK >= 1
หาจำนวนที่ไม่เป็นลบA
และB
เช่นนั้นอย่างน้อยหนึ่งในสองเงื่อนไขต่อไปนี้:
K = 2^A + 2^B
K = 2^A - 2^B
หากไม่มีอยู่จริงA
และB
โปรแกรมของคุณอาจทำงานในลักษณะใด ๆ (เพื่อชี้แจงA
และB
สามารถเท่ากับ)
กรณีทดสอบ
มักจะมีหลายวิธีในการแก้ปัญหา แต่มีเพียงไม่กี่วิธี:
K => A, B
1 => 1, 0
15 => 4, 0 ; 16 - 1 = 15
16 => 5, 4 ; 32 - 16 = 16; also 3, 3: 8 + 8 = 16
40 => 5, 3 ; 2^5 + 2^3 = 40
264 => 8, 3
17179867136 => 34, 11 ; 17179869184 - 2048 = 17179867136
กรณีการทดสอบที่ผ่านมา17179867136
, ต้องทำงานในอายุต่ำกว่า 10 วินาทีในเครื่องที่ค่อนข้างทันสมัย นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ คุณอาจใช้โปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ
16
ทั้ง5,4
และ3,3
ถูกต้อง
A
, B
เป็นเชิงลบได้อย่างไร (เช่น-1, -1
สำหรับ 1)