Фон
Коли я навчався в початковій школі, ми грали в гру з математики, яка йде так.
Усі діти сидять у великому колі та по черзі рахують, починаючи з 1 .
Однак під час підрахунку необхідно пропустити такі цифри:
- Числа, кратні 3 .
- Числа, у яких десятичне подання є 3 .
Перші 15 номерів, про які діти повинні сказати, є
1 2 4 5 7 8 10 11 14 16 17 19 20 22 25
Кожен раз, коли хтось помиляється з номером - каже число, яке не в послідовності, або пропускає число, яке є, - його видаляють із кола. Це триває, поки не залишиться лише одна дитина.
Завдання
Вам погано в цій грі, тому ви вирішили обдурити. Напишіть програму або функцію, яка, задавши номер послідовності, обчислює наступне число послідовності.
Вам не доведеться обробляти числа, які не можуть бути представлені, використовуючи рідний числовий тип вашої мови, за умови, що ваша програма працює правильно до введення 251 і якщо ваш алгоритм працює для довільно великих входів.
Для введення та виводу можна використовувати будь-яку зручну базу.
Оскільки ви повинні приховати свій код, він повинен бути якомога коротшим. Насправді це код-гольф , тому виграє найкоротший код у байтах.
Тестові справи
1 -> 2
2 -> 4
11 -> 14
22 -> 25
29 -> 40
251 -> 254
7
було пропущено, коли я грав його, але ви скажете щось інше, замість того, щоб перейти до наступного номера підряд.