Давайте визначимо автономне число як додатне ціле число, цифри якого відображаються у проміжках довжини, рівній лише собі. Іншими словами, будь-яка десяткова цифра d (за винятком 0 ) виникає лише у прогонах довжиною рівно d .
Завдання
Ви можете вибрати будь-який із трьох перелічених нижче методів:
- Враховуючи ціле n , виведіть n- е (або 0, або 1-індексоване) автономне число.
- Враховуючи ціле n , виведіть перші n автономних чисел.
- Друкуйте послідовність нескінченно.
Приклади
133322 - це автономне число, оскільки 3 з'являється під час пробігу трьох 3 -х, 1 - одинарний, а 2 - у пробігу двох 2 -х.
З іншого боку, 35553355 не є, оскільки, хоча 5 і 3 трапляються відповідно п'ять і три рази, вони не утворюють прогонів суміжних цифр.
44422 не є самодостатнім, оскільки 4 трапляється лише три рази.
12222333 теж не є, тому що 2 з'являється в пробігу чотирьох 2 -х, і це не може розглядатися як два окремих прогони двох 2 -х.
Не дивно, що це OEIS A140057 , і його перші кілька термінів:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Ви можете приймати введення та надавати вихід будь-яким із стандартних методів на будь- якій мові програмування , зазначаючи, що ці лазівки за замовчуванням заборонені. Це код гольфу, тому найкоротший код у байтах (на кожній мові) виграє.
i
стає довгим ? Можливо, це доведеться використовуватиstr
(хоча я ніколи не впевнений у цих речах).