Вступление
В странном мире целых чисел делители подобны активам, и они используют, чтобы называть «богатыми» числа, имеющие больше делителей, чем их обращение, в то время как они называют «бедными» те, у которых меньше делителей, чем их обращение.
Например, число имеет пять делителей: , а его обращение - только четыре: .
Таким образом, называется богатым числом, а - бедным числом.
1042
Учитывая это определение, мы можем создать следующие две целочисленные последовательности богатых и бедных чисел:
(here we list the first 25 elements of the sequences)
Index | Poor | Rich
-------|------|-------
1 | 19 | 10
2 | 21 | 12
3 | 23 | 14
4 | 25 | 16
5 | 27 | 18
6 | 29 | 20
7 | 41 | 28
8 | 43 | 30
9 | 45 | 32
10 | 46 | 34
11 | 47 | 35
12 | 48 | 36
13 | 49 | 38
14 | 53 | 40
15 | 57 | 50
16 | 59 | 52
17 | 61 | 54
18 | 63 | 56
19 | 65 | 60
20 | 67 | 64
21 | 69 | 68
22 | 81 | 70
23 | 82 | 72
24 | 83 | 74
25 | 86 | 75
... | ... | ...
Примечания :
- под «обращением» числа мы подразумеваем его цифровую реверсию , то есть перестановку цифр в базе-10. Это означает , что номера , оканчивающиеся с одним или несколькими нулями будут иметь «короткий» разворот: например, реверсирование
1900
является ,0091
следовательно ,91
- мы намеренно исключаем целые числа, имеющие то же количество делителей, что и их обращение, т.е. те, которые принадлежат OEIS: A062895
Вызов
Учитывая две последовательности, определенные выше, ваша задача - написать программу или функцию, которая при заданном целом числе n
(вы можете выбрать 0 или 1-индексированный) возвращает n-е бедное и n-е богатое число.
вход
- Целое число (
>= 0
если 0 или>= 1
1)
Выход
- 2-целые числа, одно для плохой последовательности и одно для богатой последовательности, в том порядке, который вы предпочитаете, если это соответствует
Примеры :
INPUT | OUTPUT
----------------------------------
n (1-indexed) | poor rich
----------------------------------
1 | 19 10
18 | 63 56
44 | 213 112
95 | 298 208
4542 | 16803 10282
11866 | 36923 25272
17128 | 48453 36466
22867 | 61431 51794
35842 | 99998 81888
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - Стандартные правила применяются к вашему ответу с правилами ввода / вывода по умолчанию , поэтому вам разрешено использовать STDIN / STDOUT, функции / метод с правильными параметрами и типом возврата, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода (например, TIO ).
- Кроме того, добавление объяснения для вашего ответа настоятельно рекомендуется.
2
. Для этого, см следствие 1.4 в конце следующей статье, с n
равным 19, 199, 1999, ...
: m-hikari.com/ijcms-password/ijcms-password13-16-2006/...