Meydan okumanız, kabul etmeyi seçmeniz durumunda, bir tamsayı verildiğinde K >= 1, negatif olmayan bir tamsayı bulmak Ave B aşağıdaki iki koşuldan en az birinin geçerli olmasını sağlamaktır:
K = 2^A + 2^BK = 2^A - 2^B
Eğer böyle bir şey yoksa Ave Bprogramınız herhangi bir şekilde davranabilir. (Açıklık için, Ave Beşit olabilir.)
Test durumları
Genellikle bir sayı için birden fazla çözüm vardır, ancak burada birkaç tane vardır:
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
Geçen test durumu, 17179867136, 10 saniyenin altında çalıştırmalısınız herhangi nispeten modern makine üzerinde. Bu bir kod golf, yani bayt cinsinden en kısa program kazanır. Tam bir program veya işlev kullanabilirsiniz.
16, hem 5,4ve 3,3geçerlidir.
A, Bolumsuz olabilir mi? (örn -1, -1. 1 için)