Wyzwanie, jeśli zdecydujesz się je zaakceptować, polega na K >= 1
znalezieniu liczb całkowitych nieujemnych A
i B
spełnieniu co najmniej jednego z dwóch następujących warunków:
K = 2^A + 2^B
K = 2^A - 2^B
Jeśli takiego nie ma, A
a B
Twój program może zachowywać się w dowolny sposób. (Wyjaśnienie A
i B
może być równe.)
Przypadki testowe
Często istnieje wiele rozwiązań wielu, ale oto kilka:
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
Ostatni przypadek testowy, 17179867136
, należy uruchomić w niecałe 10 sekund na każdym stosunkowo nowoczesną maszynę. To jest golf golfowy, więc wygrywa najkrótszy program w bajtach. Możesz użyć pełnego programu lub funkcji.
16
zarówno 5,4
i 3,3
są ważne.
A
, B
być ujemne? (np. -1, -1
dla 1)