Đầu vào:
Một số nguyên dương n bao gồm các chữ số trong phạm vi 0-9 .
Thử thách:
Nếu d là chữ số cao nhất trong số nguyên, giả sử cơ sở của số là d + 1 . Ví dụ: nếu số nguyên là 1256 thì bạn sẽ giả sử nó ở cơ sở 7 , nếu là 10110 thì bạn sẽ giả sử đó là cơ số 2 (nhị phân) và nếu là 159 thì đó là số thập phân.
Bây giờ, hãy làm như sau cho đến khi bạn, 1: đạt số nguyên cơ số 10 hoặc 2: đạt số nguyên một chữ số.
- Chuyển đổi số nguyên từ cơ sở- (d + 1) sang cơ sở 10
- Tìm cơ sở của số nguyên mới này (một lần nữa, cơ sở- (d + 1) trong đó d là chữ số cao nhất trong số mới)
- Chuyển đến bước 1 .
Ví dụ:
Giả sử đầu vào là n = 413574 . Chữ số cao nhất d = 7 , vì vậy đây là cơ số 8 (bát phân). Chuyển đổi này thành thập phân và nhận được 137084 . Chữ số cao nhất d = 8 , vì vậy đây là cơ sở-9 . Chuyển đổi này thành số thập phân và nhận 83911 . Chữ số cao nhất là 9 , vì vậy đây là số thập phân và chúng tôi dừng lại. Đầu ra sẽ là 83911 .
Giả sử đầu vào là n = 13552 . Chữ số cao nhất là d = 5 , vì vậy đây là cơ số 6 . Chuyển đổi này thành số thập phân và nhận 2156 . Chữ số cao nhất d = 6 , vì vậy đây là cơ số 7 . Chuyển đổi này thành thập phân và nhận 776 . Chữ số cao nhất là d = 7 , vì vậy đây là cơ số 8 . Chuyển đổi này thành thập phân và nhận 510 . Chữ số cao nhất là d = 5 nên đây là cơ số 6 . Chuyển đổi này thành thập phân và nhận được 186 . Chữ số cao nhất là 8 , vì vậy đây là cơ sở 9 . Chuyển đổi này thành số thập phân và nhận được 159. Chữ số cao nhất là 9 , vì vậy đây là số thập phân và chúng tôi dừng lại. Đầu ra sẽ là 159 .
Giả sử đầu vào là n = 17 . Điều này sẽ cung cấp cho chúng tôi 15 , rồi 11 , rồi 3 , chúng tôi sẽ xuất ra vì đó là một chữ số.
Các trường hợp thử nghiệm:
5
5
17
3
999
999
87654321 (base-9 -> 42374116 in decimal -> base-7 -> 90419978 in decimal)
9041998
41253 (5505 -> 1265 -> 488 -> 404 -> 104 -> 29)
29
Ghi chú:
- Các quy tắc chuẩn về I / O, sơ hở, v.v. Bạn có thể lấy đầu vào làm chuỗi
- Giải thích được khuyến khích
- Bạn có thể sử dụng các lệnh chuyển đổi cơ sở dựng sẵn
- Các giải pháp không sử dụng các hàm chuyển đổi cơ sở dựng sẵn của ngôn ngữ (nếu chúng tồn tại) đều được hoan nghênh, ngay cả khi chúng cuối cùng dài hơn nhiều so với cách tiếp cận rõ ràng sử dụng các hàm dựng sẵn.
Rõ ràng, đây là OEIS A091047 .