Рассмотрим треугольник , где N - й строки (1-индексированный) является массив из первых N положительных целых степеней N . Вот первые несколько строк:
N | Треугольник 1 | 1 2 | 2 4 3 | 3 9 27 4 | 4 16 64 256 5 | 5 25 125 625 3125 ...
Теперь, если мы объединим эти полномочия в одну последовательность, мы получим OEIS A075363 :
1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, 1296, 7776, 46656 ...
Если задано целое число N , ваша задача - вернуть N- й член этой последовательности. Вы можете выбрать либо 0, либо 1 индексирование.
Контрольные примеры
1-индексированный:
N -> Выход 1 -> 1 2 -> 2 3 -> 4 5 -> 9 10 -> 256 12 -> 25 15 -> 3125
0 индексированные:
N -> Выход 0 -> 1 1 -> 2 2 -> 4 4 -> 9 9 -> 256 11 -> 25 14 -> 3125
Обратите внимание, что эти лазейки по умолчанию запрещены. Это код-гольф , поэтому выигрывает самая короткая действительная подача на каждом языке!
Ответы:
Python 3 , 39 байт
1-индексированных
Попробуйте онлайн!
источник
Шелуха , 7 байт
Попробуйте онлайн!
1-индексированных
Объяснение:
источник
Wolfram Language (Mathematica) , 32 байта
Попробуйте онлайн!
Диапазоны к степени диапазонов диапазонов ...
источник
Range@Range@3
возвращается{{1}, {1, 2}, {1, 2, 3}}
?! Черт возьми, список Mathematica безумен.R , 40 байт
-2 байта переносят ответ Халварда Хаммела
Попробуйте онлайн!
R , (оригинальный ответ) 42 байта
Попробуйте онлайн!
1-индексироваться.
источник
APL (Dyalog) ,
151310 байт3 байта сохранены благодаря @ Adám
Попробуйте онлайн!
Как?
⍳¨∘⍳
- создать диапазон для каждого числа в диапазоне ввода⍳*
- поднять каждое число в диапазоне ввода до соответствующих степеней∊
- расплющить⊢⊃
- выберите n-й элементисточник
f
(таким образом,f←
это еще 2 байта, которые здесь не учитываются), и есть тестовая система, которая возвращает результаты из1
в10
.Желе , 7 байт
Попробуйте онлайн!
-1 спасибо мистеру Xcoder .
1-индексироваться.
источник
"
, мое собственное решение составляет 7 байт:*R$€F⁸ị
"
, но все же. Это то, что вы получаете за то, что изучаете историю: /Хаскелл ,
3028 байтСохранено 2 байта благодаря xnor.
Попробуйте онлайн!
0 индексированные
источник
[n^i|n<-[1..],i<-[1..n]]
.>>=
формой ...MATL , 9 байт
Индексирование основано на 1. Попробуйте онлайн! Или проверьте все тестовые случаи .
объяснение
Рассмотрим ввод
5
в качестве примера.источник
APL (Dyalog) ,
1412 байтовПопробуйте онлайн!
Использует 1-индексацию
Сохранено 2 байта с
↑,/ → ∊
, взяты из ответа ГрэмаОбратите внимание, что в тестовой ссылке код требует дополнительного
f←
, но это не считается нашими правилами.источник
∘
с⍨
.{⍵⌷∊*∘⍳⍨¨⍳⍵}
→⊢⌷∘∊((*∘⍳)⍨¨⍳)
→⊢⌷∘∊(⍳(*∘⍳)¨⍳)
→⊢⌷∘∊⍳*∘⍳¨⍳
⊢
это молчаливая функция, что⍵
к dfn.∘
Между⌷
и∊
необходимо , потому что∊
называется monadically, поэтому индексировать зачислен . И мы меняемсяf⍨⍳
в⍳ f ⍳
избегать вызова F (*∘⍳¨
) monadically (всякий раз , когда⍨
и¨
являются смежными, они могут поменять положение).Pyth , 8 байт
Попробуй это здесь.
-1 благодаря Steven H. .
0 индексированные.
источник
@s^RSdSh
в гольф на байте.05AB1E , 9 байт
Попробуйте онлайн!
объяснение
1-индексироваться.
Альтернативное решение по списку вместо цикла
источник
Perl 6 , 29 байт
Проверь это
Expanded:
источник
Рубин , 34 байта
Попробуйте онлайн!
источник
JavaScript , 30 байт
-1 байт благодаря Nahuel Fouilleul
Попробуйте онлайн!
источник
f=(x,n=1)=>x>n?f(x-n,n+1):n**x
Python 2 , 57 байт
Попробуйте онлайн! (0-индексированные.)
0-индексированная альтернатива, длинная версия 74 байта .
источник
Желе ,
1512 байтНаверноене оптимально.-3 благодаря игре Эрика Аутгольфера в гольф.
Попробуйте онлайн!
источник
J , 20 байт
1-индексированных
Попробуйте онлайн!
источник
APL + WIN, 23 байта
Объяснение:
источник
∊
из вашего ответа, чтобы заменить мой↑,/
. Я не знал об этой функции. СпасибоСИЛОС , 45 байт
Попробуйте онлайн!
источник
Perl 5, 30 + 1 (-p) байт
попробуйте это онлайн
источник
Clojure 51 байт
0-индексированный, например, ввод
9
возвращает256.0
.источник
С
7662 байтау; е (п) {у = (целое) - + 2 (5 + SQRT (1 + 8 * ~ -n) / 2.); п + = у * (3-у) / 2-1; возвращение (интермедиат ) пау (у-1, п);}Я основал это на этом коде
Попробуйте на Ideone
источник
Пыть ,
3937 байт1-индексированных
Объяснение:
Вкратце, он рассчитывает каждую строку. Если запрошенный номер находится в этой строке, верните его; в противном случае перейдите к следующему ряду.
источник