lấy cảm hứng từ đếm ngược từ vô cực
Cho một số nguyên không âm N
, xuất số lần lặp lại của các bước sau để đạt 0:
- Đổi
N
thành nhị phân (4812390 -> 10010010110111001100110
) - Lật từng bit (
10010010110111001100110 -> 01101101001000110011001
) - Cắt số 0 hàng đầu (
01101101001000110011001 -> 1101101001000110011001
) - Chuyển đổi lại thành số thập phân (
1101101001000110011001 -> 3576217
)
Quy tắc
- Đầu vào và đầu ra có thể ở bất kỳ định dạng nhất quán, rõ ràng nào
- Đầu vào sẽ nằm trong phạm vi số nguyên có thể biểu thị riêng cho ngôn ngữ của bạn (nếu ngôn ngữ của bạn hỗ trợ các số nguyên lớn tùy ý, không có ràng buộc)
Các trường hợp thử nghiệm
0 -> 0
1 -> 1
42 -> 6
97 -> 3
170 -> 8
255 -> 1
682 -> 10
8675309 -> 11
4812390 -> 14
178956970 -> 28
2863311530 -> 32
Trình tự này là A005811 trong OEIS.
~(~a) == a