Bu meydan okumada meraklı bir diziden sayıları hesaplayacaksınız.
Girişiniz tek bir ondalık sayı negatif olmayan bir tam sayıdır. Bu tamsayıdaki bitleri ters çevirin ve ardından gerekli çıktıyı almak için sayının karesini alın.
Bitleri ters çevirirken, girişte baştaki sıfırları kullanmamalısınız. Örneğin:
26 (base 10) = 11010 (base 2) -> 01011 (base 2) = 11 -> 11*11 = 121
Bu dizinin ilk 25 girişi / çıkışı:
0: 0
1: 1
2: 1
3: 9
4: 1
5: 25
6: 9
7: 49
8: 1
9: 81
10: 25
11: 169
12: 9
13: 121
14: 49
15: 225
16: 1
17: 289
18: 81
19: 625
20: 25
21: 441
22: 169
23: 841
24: 9
Çözümünüz keyfi olarak boyutlandırılmış tamsayılar için çalışmalıdır. Dilinizde bunları kullanmak için uygun bir yerleşik yöntem yoksa, yanıtınızı sanki olduğu gibi uygulayın. Cevabınız çok sayıda olursa kırılır. Ancak, yalnızca sınırlı bir alan için (arama tablosu gibi) çalışan hileler / sınırlar kullanmayın.
Puanınız kaynak kodun bayt sayısıdır.
Eğer sayıyı hiçbir zaman ikiliye dönüştürmezseniz,% -50 bonus. Bu, yerleşikler ile sınırlı değildir, eğer sayıları birer birer döngüye sokarsanız (kaydırma veya maskeleme veya başka bir yöntemle), dönüşüm olarak da sayılır. Bunun gerçekten mümkün olup olmadığını bilmiyorum, ancak dizideki bir deseni tespit etmek için bir teşvik veriyor.
En küçük puan kazanır.