Dalam tantangan ini, Anda akan menghitung angka dari urutan yang aneh.
Input Anda adalah bilangan bulat non-negatif desimal tunggal. Membalikkan bit dalam integer ini dan kemudian kuadratkan angka untuk mendapatkan output yang diperlukan.
Saat membalikkan bit Anda tidak harus menggunakan nol terkemuka di input. Sebagai contoh:
26 (base 10) = 11010 (base 2) -> 01011 (base 2) = 11 -> 11*11 = 121
25 input / output pertama dari urutan ini:
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
Solusi Anda harus bekerja untuk bilangan bulat berukuran sewenang-wenang. Jika bahasa Anda tidak memiliki metode bawaan yang praktis untuk menggunakannya, implementasikan jawaban Anda seolah-olah itu. Anda kemudian dimaafkan jika jawaban Anda terlalu banyak. Namun, jangan gunakan trik / batasan yang hanya berfungsi untuk domain terbatas (seperti tabel pencarian).
Skor Anda adalah jumlah byte kode sumber.
-50% bonus jika Anda tidak pernah mengkonversi nomor ke / dari biner. Ini tidak terbatas pada builtin, jika Anda mengulangi angka sedikit demi sedikit (baik dengan menggeser atau menutupi atau metode lainnya), itu juga akan dihitung sebagai konversi. Saya tidak tahu apakah ini benar-benar mungkin, tetapi memberi insentif untuk menemukan pola dalam urutan.
Kemenangan skor terkecil.