Bài tập:
Cho một số nguyên trong hệ thống số thập phân, giảm nó thành một chữ số thập phân duy nhất như sau:
- Chuyển đổi số thành một danh sách các chữ số thập phân.
- Tìm chữ số lớn nhất, D
- Xóa D khỏi danh sách. Nếu có nhiều hơn một lần xuất hiện của D, hãy chọn lần đầu tiên từ bên trái (ở vị trí quan trọng nhất), tất cả những lần khác sẽ vẫn còn nguyên.
- Chuyển đổi danh sách kết quả thành số thập phân và nhân nó với D.
- Nếu số lớn hơn 9 (có nhiều hơn 1 chữ số thập phân), hãy lặp lại toàn bộ quy trình, đưa kết quả vào đó. Dừng lại khi bạn nhận được một kết quả một chữ số.
- Hiển thị kết quả.
Thí dụ:
26364 ->
1. 2 6 3 6 4
2. The largest digit is 6, so D=6
3. There are two occurrences or 6: at positions 1 and 3 (0-based). We remove the left one,
at position 1 and get the list 2 3 6 4
4. we convert the list 2 3 6 4 to 2364 and multiply it by D:
2364 * 6 = 14184
5. 14184 is greater than 9 so we repeat the procedure, feeding 14184 into it.
Chúng tôi tiếp tục bằng cách lặp lại quy trình cho 14184 và cứ thế và chúng tôi trải qua các kết quả trung gian sau, cuối cùng đạt 8:
11312
3336
1998
1782
1376
952
468
368
288
224
88
64
24
8
Vậy kết quả cho 26364 là 8.
Dữ liệu vào: Một số nguyên / một chuỗi đại diện cho một số nguyên
Đầu ra: Một chữ số, kết quả của việc giảm áp dụng cho số.
Các trường hợp thử nghiệm:
9 -> 9
27 -> 4
757 -> 5
1234 -> 8
26364 -> 8
432969 -> 0
1234584 -> 8
91273716 -> 6
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất tính bằng byte trong mỗi ngôn ngữ sẽ giành chiến thắng.
10 -> 10
?