Я розігрувався з деякими номерами і знайшов послідовність, яка, звичайно, є на OEIS. Це A005823 : Числа, потрійна розширення яких не містить 1 . Це іде:
a (2n) = 3 * a (n) +2
a (2n + 1) = 3 * a (n + 1)
a (1) = 0
a = 0,2,6,8,18,20,24,26,54 ....
Я написав програму CJam, яка генерує першу n із цих чисел, перетворюючи індекс у двійковий, замінюючи 1-й на 2-х та перетворюючи з потрійного на десятковий.
Я також помітив, що будь-яке парне число можна отримати, взявши суму двох чисел у послідовності (іноді число з собою).
Змагання:
Враховуючи будь-яке невід'ємне парне число як вхідне, виведіть індекси двох чисел у послідовності, що підсумовує його. (Зверніть увагу, що іноді можливі кілька пар.)
Правила:
- Вкажіть, чи використовуєте ви 0- або 1-індексацію.
- Якщо ви виводите рядок як рядок, поставте роздільник між двома індексами.
- Вам дозволяється виводити як складне число.
- Якщо ви цього хочете, ви можете вивести кожну дійсну пару.
- Код Гольф: виграє найкоротша відповідь
Випробування
Я використовую 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 за допомогу у тестовому випадку.
Пов’язано: чи це всередині набору кантора?