Défi
Étant donné une base et un indice , le terme de sortie , défini comme suit:
- est obtenu en convertissant en base puis en réinterprétant ses chiffres en base
- La sortie doit être en base
Une marche à suivre pour la base 5, terme 5 serait:
- .
- donc .
- donc .
- donc .
- donc .
- Nous sortons la chaîne
"1011"
ou l'entier1011
.
Cas de test
Remarque: ce sont un indexé
base 2, term 5 --> 1100100111110011010011100010101000011000101001000100011011011010001111011100010000001000010011100011
base 9, term 70 --> 1202167480887
base 8, term 30 --> 4752456545
base 4, term 13 --> 2123103032103331200023103133211223233322200311320011300320320100312133201303003031113021311200322222332322220300332231220022313031200030333132302313012110123012123010113230200132021023101313232010013102221103203031121232122020233303303303211132313213012222331020133
Remarques
- Les échappatoires standard ne sont pas autorisées
- Toute méthode d'E / S par défaut est autorisée
- Vous pouvez utiliser différents index (tels que 0, 1, 2, etc.) pour
- Vous pouvez sortir le premier termes.
- Comme c'est du golf de code , code le plus court gagne pour cette langue
11
comme s'il était dans la baseb
et le reconvertissez en base 10, etc.)4a
ne serait pas un nombre valide en base 104a
, car vous interpréteriez les chiffres de base 10 comme baseb
et les convertiriez en base 10 à chaque fois (c'est-à-dire l'inverse de cette question).Réponses:
JavaScript (Node.js) , 40 octets
Merci à @Neil d'avoir économisé 5 octets sur cette version et 2 octets sur la version BigInt
Prend l'entrée commet est indexé sur 1.
(t)(base)
, oùEssayez-le en ligne!
JavaScript (Node.js) , 48 octets (version BigInt)
Prend l'entrée commet est indexé sur 1. Renvoie un BigInt.
(t)(base)
, oùEssayez-le en ligne!
la source
eval
dans la première version?+
sauverait 5 octets ...BigInt
enregistre deux octets dans la deuxième version, car vous n'avez pas besoin d'ajoutern
à la chaîne.(b,t,x=11)=>--t?f(b,t,+x.toString(b)):x
a 1 caractère de moinsf=
(car la fonction se référence elle-même).n=>b=>g=(x=11n)=>--n?g(BigInt(x.toString(b))):x
:) Si l'appelf(t)(b)()
est autorisé.05AB1E , 5 octets
Essayez-le en ligne!
Explication
Notez qu'il n'est pas nécessaire de démarrer explicitement la séquence à 11 .
Commencer
base+1
et faire une itération supplémentaire entraînera la première itération donnant 11 .la source
Japt , 9 octets
Essayez-le
la source
Wolfram Language (Mathematica) , 46 octets
Essayez-le en ligne!
Appelez avec
f[base][t]
. 0 indexé.la source
Rétine , 67 octets
Essayez-le en ligne! Prend les entrées séparées par des virgulest (indexées 0) et b . Effectue tous ses calculs en unaire, donc expire pour les grands nombres. Explication:
Initialisezx0=11 et convertissez b en unaire.
Répétezt fois.
Convertissezxi en unaire.
Convertir en baseb .
Supprimezb de la sortie.
la source
Python 2 , 71 octets
Essayez-le en ligne!
0 indexé.
la source
Clojure , 109 octets
Crédit à MilkyWay90 pour avoir supprimé 10 octets en repérant des espaces inutiles. Crédit à Incarnation of Ignorance pour un autre octet d'un autre espace inutile.
Golfé
Non golfé
Je pense que les octets principaux peuvent être enregistrés est l'expression de ... retradixing? quel que soit le nom. Plus précisément:
la source
(if (= t 1)
Perl 6 , 28 octets
Essayez-le en ligne!
L'index dans la séquence est basé sur zéro.
la source
Gelée ,
87 octetsEssayez-le en ligne!
Un programme complet qui prendb comme premier argument et indexé 1 t comme deuxième argument. Renvoie l'entier du terme pertinent (et imprime implicitement). Utilise l'observation de @Emigna concernant le début deb + 1 .
Explication
la source
K (ngn / k) , 13 octets
Essayez-le en ligne!
la source
Pyth , 8 octets
Essayez-le en ligne!
la source
C # (Visual C # Interactive Compiler) , 87 octets
5 octets enregistrés grâce à @KevinCruijssen
Essayez-le en ligne!
la source
do-while
en une boucle for régulière.brainfuck , 270 octets
Essayez-le en ligne!
0 indexé. Le nombre d'itérations est supposé être au maximum de 255.
Explication
La bande est présentée comme suit:
Chaque chiffre est en fait stocké en tant que chiffre plus 1, 0 étant réservé pour "plus de chiffres". Pendant la conversion de la base, les chiffres en cours de travail sont déplacés d'une cellule vers la droite et la base est déplacée vers la gauche de la zone de travail actuelle.
la source
Fusain , 14 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Prend les entrées commet (Indexé 0) et b . Explication:
Boucleb fois.
CalculerXje .
ProductionXt .
la source
Pari / GP , 50 octets
Essayez-le en ligne!
la source
C (gcc) , 59 octets
Essayez-le en ligne!
la source
Groovy , 45 octets
Essayez-le en ligne!
Port of @ Arnauld's answer
la source
PHP ,
8375 octetsEssayez-le en ligne!
Celui-ci ne fonctionnera qu'avec des "petits" nombres (par exemple pas les cas de test 1 et 4)
la source
Japt , 10 octets
0 indexé. Prend
t
comme première entrée,b
comme seconde.Essayez-le
la source
Gaia , 8 octets
Essayez-le en ligne!
Prend
iterations
alors sur la base de 0base
.la source
Rubis , 39 octets
Zéro indexé.
Essayez-le en ligne!
la source
Perl 5
-Mbigint -pa
, 65 octetsEssayez-le en ligne!
la source