Trong thử thách này, bạn sẽ tính các số từ một chuỗi tò mò.
Đầu vào của bạn là một số nguyên không thập phân đơn. Đảo ngược các bit trong số nguyên này và sau đó bình phương số để có được đầu ra cần thiết.
Khi đảo ngược các bit, bạn không được sử dụng bất kỳ số 0 đầu nào trong đầu vào. Ví dụ:
26 (base 10) = 11010 (base 2) -> 01011 (base 2) = 11 -> 11*11 = 121
25 đầu vào / đầu ra đầu tiên của chuỗi này:
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
Giải pháp của bạn nên làm việc cho các số nguyên có kích thước tùy ý. Nếu ngôn ngữ của bạn không có phương pháp tích hợp thuận tiện để sử dụng những ngôn ngữ đó, hãy thực hiện câu trả lời của bạn như thể nó có. Sau đó, bạn được miễn nếu câu trả lời của bạn phá vỡ cho số lượng lớn. Tuy nhiên, không sử dụng các thủ thuật / giới hạn chỉ hoạt động cho một miền hạn chế (chẳng hạn như bảng tra cứu).
Điểm của bạn là số byte của mã nguồn.
-50% tiền thưởng nếu bạn không bao giờ chuyển đổi số sang / từ nhị phân. Điều này không giới hạn đối với các nội trang, nếu bạn lặp qua từng bit một (bằng cách dịch chuyển hoặc che hoặc bất kỳ phương thức nào khác), nó cũng sẽ được tính là chuyển đổi. Tôi không biết liệu điều này có thực sự khả thi hay không, nhưng nó mang lại sự khích lệ để phát hiện ra một mô hình trong chuỗi.
Điểm số nhỏ nhất chiến thắng.