З огляду на натуральне число n
, поверніть n
-ме число Лейленда .
Номер Лейленда
Числа Лейленда - це натуральні числа k
форми
k = x^y + y^x
Де x,y
цілі числа строго більші за 1.
Вони перераховуються у порядку зростання.
EDIT: @DigitalTrauma запропонував включити таке "визначення":
Уявіть, що ми кидаємо
x^y+y^x
в мішок для всіх можливих значеньx
таy
, а також уникаємо кидання в дублікати. Потім сортуємо цей мішок. Відсортований мішок - наша послідовність.
Деталі
Ви можете використовувати індексацію на основі 0 або 1, що підходить вам найкраще.
Ваша програма повинна вміти виводити принаймні всі числа Лейленда менше, ніж максимум підписаних 32-бітних цілих чисел. (Останнє число Лейленда нижче цієї межі - 1996813914
в індексі 82
.)
Тестові справи
Перші кілька термінів наступні:
8, 17, 32, 54, 57, 100, 145, 177, 320, 368, 512, 593, 945, 1124
A076980 в OEIS, за винятком першого запису. Зауважте, що завдяки цьому додатковому першому запису показники ОЕІС зміщуються на одиницю.
Більше можна знайти в b-файлі OEIS
8
раніше 17
, а не навпаки.
x^y+y^x
в мішок для всіх можливих значень x
та y
, а також уникати того, щоб викидати їх у дублікати. Потім сортуємо цей мішок. Відсортований мішок - наша послідовність.
They are enumerated in ascending order
Я не дуже впевнений, що це означає. Чи можете ви надати список x і y?