Коли я був дитиною і хотів порахувати доларові купюри в заощадженнях життя, я би розраховував голосно:
один два три чотири п'ять шість сім вісім дев'ять десять;
одинадцять, дванадцять, тринадцять, чотирнадцять, п’ятнадцять, шістнадцять, сімнадцять, вісімнадцять, дев’ятнадцять, двадцять;
двадцять один, двадцять два, двадцять три, двадцять чотири, двадцять п’ять ...
Врешті-решт я втомився вимовляти кожне з цих багатоскладових чисел. Маючи математичну думку, я створив набагато ефективніший метод підрахунку:
один два три чотири п'ять шість сім вісім дев'ять десять;
один, два, три, чотири, п’ять, шість, сім, вісім, дев’ять, двадцять;
один, два, три, чотири, п’ять, шість, сім, вісім, дев'ять, тридцять ...
Як бачите, я б лише вимовив цифру (і), які змінилися від попереднього числа. Це має додаткову перевагу в тому, що він значно повторюється, ніж англійські імена для чисел, а тому вимагає меншої кількості сил для обчислення.
Виклик
Напишіть програму / функцію, яка приймає натуральне ціле число та виводить / повертає так, як я би порахував це: тобто найправіший ненульовий розряд і всі проміжні нулі.
Приклади
1 1
2 2
10 10
11 1
29 9
30 30
99 9
100 100
119 9
120 20
200 200
409 9
1020 20
Повний список тестових випадків не повинен бути необхідним. Це A274206 на OEIS.
Правила
- Ваш запис теоретично повинен працювати для всіх натуральних чисел, ігноруючи точність та проблеми з пам’яттю.
- Введення та вихід повинні бути десятковими.
- Ви можете прийняти введення та / або вихід як число, рядок або масив цифр.
- Введення гарантується як натуральне число. Ваш запис може зробити що завгодно для недійсного введення.
Це код-гольф , тому найкоротший код у байтах виграє.
[1,0,2,0]
->[2,0]
для останнього тестового випадку? (Мені незрозуміло щодо фрази "однопозиційний масив").