Rễ kỹ thuật số (cũng là tổng kỹ thuật số lặp lại) của một số nguyên dương là giá trị (một chữ số) thu được từ một quá trình lặp lại của các chữ số, trên mỗi lần lặp sử dụng kết quả từ lần lặp trước để tính tổng một chữ số. Quá trình tiếp tục cho đến khi đạt được một số có một chữ số.
Ví dụ: gốc kỹ thuật số của 65536 là 7 , vì 6 + 5 + 5 + 3 + 6 = 25 và 2 + 5 = 7 .
Sắp xếp tất cả các gốc kỹ thuật số không có nhiều ý nghĩa, vì nó sẽ chỉ bắt đầu với vô số 1 giây.
Thay vào đó, chúng tôi sẽ tạo danh sách tất cả các số nguyên một chữ số cùng với các gốc kỹ thuật số của chúng, sau đó tất cả các số có hai chữ số cùng với các gốc kỹ thuật số của chúng, sau đó là ba, bốn, v.v.
Bây giờ, với mỗi danh sách đó, chúng tôi sẽ sắp xếp nó để tất cả các số nguyên có gốc kỹ thuật số 1 xuất hiện trước, sau đó tất cả các số nguyên có gốc kỹ thuật số là 2 , v.v. Việc sắp xếp sẽ ổn định, do đó danh sách các số nguyên có gốc kỹ thuật số nhất định phải theo thứ tự tăng dần sau khi sắp xếp.
Cuối cùng, chúng tôi sẽ ghép các danh sách này thành một chuỗi duy nhất. Chuỗi này sẽ bắt đầu với tất cả các số có một chữ số, sau đó tất cả các số có hai chữ số (được sắp xếp theo gốc kỹ thuật số của chúng), sau đó tất cả các số có ba chữ số, v.v.
Thử thách:
Hãy tích cực số nguyên n như là đầu vào, đầu ra và các n 'th số trong chuỗi mô tả ở trên. Bạn có thể chọn nếu danh sách là 0 -exexed của 1 -exexed.
Trình tự diễn ra như sau:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 28, 37, 46, 55, 64, 73, 82, 91, 11, 20, 29 ...
72, 81, 90, 99, 100, 109, 118, ...
981, 990, 999, 1000, 1009, 1018, 1027, ...
Các trường hợp thử nghiệm:
Các trường hợp thử nghiệm được lập chỉ mục 1.
n f(n)
9 9
10 10
11 19
40 13
41 22
42 31
43 40
44 49
45 58
600 105
601 114
602 123
603 132
604 141
605 150
4050 1453
4051 1462
4052 1471
4053 1480
4054 1489
4055 1498
Dễ sao chép hơn:
n = 9, 10, 11, 40, 41, 42, 43, 44, 45, 600, 601, 602, 603, 604, 605, 4050, 4051, 4052, 4053, 4054, 4055,
f(n) = 9, 10, 19, 13, 22, 31, 40, 49, 58, 105, 114, 123, 132, 141, 150, 1453, 1462, 1471, 1480, 1489, 1498
Làm rõ:
- Bạn không thể xuất tất cả n phần tử đầu tiên. Bạn có trách nhiệm chỉ ra các n 'th.
- Về mặt lý thuyết, mã phải hoạt động cho tất cả các số nguyên lên đến 10 ^ 9 , nhưng sẽ ổn nếu hết thời gian trên TIO (hoặc các trình thông dịch khác có giới hạn thời gian) cho các đầu vào lớn hơn 999 .
- Giải thích được khuyến khích.
Đó là môn đánh gôn , vì vậy mã ngắn nhất trong mỗi ngôn ngữ sẽ thắng! Đừng nản lòng với các giải pháp khác bằng ngôn ngữ bạn muốn chơi gôn, ngay cả khi chúng ngắn hơn những gì bạn có thể quản lý!