당신의 도전이며, 정수 주어, 당신이 그것을 받아들이 선택해야합니다 K >= 1, 음이 아닌 정수를 찾을 수 A와 B 같은 그 홀드 다음 두 가지 조건 중 하나 이상 :
K = 2^A + 2^BK = 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, -11의 경우)