Я играл с некоторыми числами и нашел последовательность, которая, конечно, на OEIS. Это A005823 : числа, троичное расширение которых не содержит единиц . Идет:
a (2n) = 3 * a (n) +2
a (2n + 1) = 3 * a (n + 1)
а (1) = 0
а = 0,2,6,8,18,20,24,26,54 ....
Я написал CJam-программу, которая генерирует первые n из этих чисел путем преобразования индекса в двоичный, замены 1 на 2 и преобразования из троичного в десятичное.
Я также заметил, что любое четное число можно получить, взяв сумму двух чисел в последовательности (иногда число с самим собой).
Соревнование:
Если в качестве входных данных выбрано любое неотрицательное четное число, выведите индексы двух чисел в суммирующей последовательности. (Обратите внимание, что иногда возможно несколько пар.)
Правила:
- Укажите, используете ли вы 0- или 1-индексацию.
- Если вы выводите в виде строки, поместите разделитель между двумя индексами.
- Вам разрешено выводить как комплексное число.
- При желании вы можете вывести каждую действительную пару.
- Code Golf: самый короткий ответ выигрывает
Тестовые случаи
Я использую 0-индексацию. Здесь я перечисляю все возможные выходные данные для каждого входа, но вам нужно вывести только один.
0: [0 0] 2: [1 0] 4: [1 1] 6: [2 0] 8: [2 1] [3 0] 10: [3 1] 12: [2 2] 14: [3 2] 16: [3 3] 18: [4 0] 30: [6 2] 32: [6 3] [7 2] 46: [7 5] 50: [7 6] 120: [10 10] 338: [19 18] 428: [30 23] [31 22] 712: [33 27] [35 25] [41 19] [43 17] [49 11] [51 9] [57 3] [59 1] 1016: [38 37] [39 36]Спасибо @Luis Mendo за помощь в тестировании.
Связанный: это в пределах набора Кантора?