Considérons un triangle où la N ième ligne (1-indexé) est la matrice des première N puissances entières positives de N . Voici les premières lignes:
N | Triangle 1 | 1 2 | 2 4 3 | 3 9 27 4 | 4 16 64 256 5 | 5 25 125 625 3125 ...
Maintenant, si nous concaténons ces pouvoirs en une seule séquence, nous obtenons OEIS A075363 :
1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, 1296, 7776, 46656 ...
Étant donné un entier N , votre tâche consiste à renvoyer le N ème terme de cette séquence. Vous pouvez choisir l'indexation 0 ou 1.
Cas de test
1 indexé:
N -> Sortie 1 -> 1 2 -> 2 3 -> 4 5 -> 9 10 -> 256 12 -> 25 15 -> 3125
0 indexé:
N -> Sortie 0 -> 1 1 -> 2 2 -> 4 4 -> 9 9 -> 256 11 -> 25 14 -> 3125
Notez que ces failles sont interdites par défaut. Il s'agit de code-golf , donc la soumission valide la plus courte dans chaque langue gagne!
Réponses:
Python 3 , 39 octets
1 indexé
Essayez-le en ligne!
la source
Husk , 7 octets
Essayez-le en ligne!
1 indexé
Explication:
la source
Wolfram Language (Mathematica) , 32 octets
Essayez-le en ligne!
Plages à la puissance de plages de plages ...
la source
Range@Range@3
retourne{{1}, {1, 2}, {1, 2, 3}}
?! Merde, le filetage de liste de Mathematica est fou.R , 40 octets
-2 octets portant la réponse de Halvard Hummel
Essayez-le en ligne!
R , (réponse originale) 42 octets
Essayez-le en ligne!
1 indexé.
la source
APL (Dyalog) ,
151310 octets3 octets économisés grâce à @ Adám
Essayez-le en ligne!
Comment?
⍳¨∘⍳
- créer une plage pour chaque numéro dans la plage d'entrée⍳*
- augmenter chaque nombre dans la plage d'entrée aux puissances correspondantes∊
- aplatir⊢⊃
- choisissez le nième élémentla source
f
(c'est doncf←
2 octets de plus, qui ne sont pas comptés ici), et il y a un harnais de test qui renvoie les résultats de1
à10
.Gelée , 7 octets
Essayez-le en ligne!
-1 merci à M. Xcoder .
1 indexé.
la source
"
, ma propre solution est de 7 octets:*R$€F⁸ị
"
, mais quand même. Voilà ce que vous obtenez pour avoir à étudier l'histoire: /Haskell ,
3028 octetsEnregistré 2 octets grâce à xnor.
Essayez-le en ligne!
0 indexé
la source
[n^i|n<-[1..],i<-[1..n]]
.>>=
forme ...MATL , 9 octets
L'indexation est basée sur 1. Essayez-le en ligne! Ou vérifiez tous les cas de test .
Explication
Considérez la saisie
5
comme exemple.la source
APL (Dyalog) ,
1412 octetsEssayez-le en ligne!
Utilise l'indexation 1
Enregistré 2 octets avec
↑,/ → ∊
, tiré de la réponse de GrahamNotez que dans le lien de test, le code nécessite un supplément
f←
, mais cela n'est pas compté selon nos règles.la source
∘
avec⍨
.{⍵⌷∊*∘⍳⍨¨⍳⍵}
→⊢⌷∘∊((*∘⍳)⍨¨⍳)
→⊢⌷∘∊(⍳(*∘⍳)¨⍳)
→⊢⌷∘∊⍳*∘⍳¨⍳
⊢
est à une fonction tacite ce qui⍵
est à un dfn. L'∘
entre⌷
et∊
est nécessaire car∊
est appelé monadiquement, il indexe donc l'enrôlé . Et nous changeonsf⍨⍳
en⍳ f ⍳
pour éviter d'appeler f (*∘⍳¨
) monadiquement (chaque fois que⍨
et¨
sont adjacents, ils peuvent changer de position).Pyth , 8 octets
Essayez-le ici.
-1 merci à Steven H ..
0 indexé.
la source
@s^RSdSh
jouer au golf un octet.05AB1E , 9 octets
Essayez-le en ligne!
Explication
1 indexé.
Solution alternative sur une liste au lieu d'une boucle
la source
Perl 6 , 29 octets
Essaye-le
Étendu:
la source
Rubis , 34 octets
Essayez-le en ligne!
la source
JavaScript , 30 octets
-1 octet grâce à Nahuel Fouilleul
Essayez-le en ligne!
la source
f=(x,n=1)=>x>n?f(x-n,n+1):n**x
Python 2 , 57 octets
Essayez-le en ligne! (Indexé 0).
Version alternative indexée 0 de 74 octets de long .
la source
Gelée ,
1512 octetsProbablementpas optimal.-3 grâce au golf d' Erik l'Outgolfer .
Essayez-le en ligne!
la source
J , 20 octets
1 indexé
Essayez-le en ligne!
la source
APL + WIN, 23 octets
Explication:
la source
∊
votre réponse pour remplacer la mienne↑,/
. Je ne connaissais pas cette fonction. MerciSILOS , 45 octets
Essayez-le en ligne!
la source
Perl 5, 30 + 1 (-p) octets
essayez-le en ligne
la source
Clojure 51 octets
Indexé 0, par exemple, les
9
retours d' entrée256.0
.la source
C
76, 62 octetsy; f (n) {y = (int) (-. 5 + sqrt (1 + 8 * ~ -n) / 2) +2; n + = y * (3-y) / 2-1; return (int ) pow (y-1, n);}Je l'ai basé sur ce code
Essayez-le sur ideone
la source
Pyt ,
3937 octets1 indexé
Explication:
En bref, il calcule chaque ligne. Si le numéro demandé se trouve dans cette ligne, renvoyez-le; sinon, passez à la ligne suivante.
la source