Avec une seule lettre de A à Z (sauf J et K) en entrée, indiquez le plus petit entier non négatif contenant cette lettre sous sa forme écrite. Supposons que les nombres ne contiennent jamais le mot "et", donc 101
"cent un" et non "cent un". Supposons que les comptes américains (à petite échelle) comptent, donc un million 10^6
et un milliard 10^9
.
a 1000 one thousand
b 1000000000 one billion
c 1000000000000000000000000000 one octillion
d 100 one hundred
e 0 zero
f 4 four
g 8 eight
h 3 three
i 5 five
j
k
l 11 eleven
m 1000000 one million
n 1 one
o 0 zero
p 1000000000000000000000000 one septillion
q 1000000000000000 one quadrillion
r 0 zero
s 6 six
t 2 two
u 4 four
v 5 five
w 2 two
x 6 six
y 20 twenty
z 0 zero
J et K ne font pas partie de la spécification d'entrée, votre comportement n'est donc pas défini pour eux. Étant donné l’une des lettres ci-dessus, indiquez le nombre (décimal) à côté. Vous pouvez entrer des entrées en minuscules ou en majuscules, mais vous ne pouvez pas exiger que certaines entrées soient en minuscules et d'autres en majuscules.
C'est du code-golf , donc la réponse la plus courte en octets est gagnante.
Réponses:
JavaScript (Node.js) ,
78 75 7473 octetsEssayez-le en ligne!
Comment?
Chaque valeur est codée avec un seul caractère imprimable. Nous utilisons la plage ASCII[32..52] pour coder n−32 et la plage [53..80] pour coder 10n−53 .
Commenté
la source
Ruby , 65 octets
Essayez-le en ligne!
Améliorations inspirées par le commentaire de GB.
Ruby , 70 octets
Essayez-le en ligne!
la source
i
était utile. Maintenant à 65./// , 125 octets
Essayez-le en ligne!
L' entrée est ajoutée à la fin du code, selon I / O meta . Le pied de page du lien TIO ci-dessus teste toutes les lettres simultanément, en tant que chaîne unique délimitée par des lignes, mais le code fonctionne également très bien lors de la saisie d' un seul caractère .
la source
Wolfram Language (Mathematica) , 50 octets
Les lettres b, c, m, p et q sont ignorées pour des raisons de performances lors des tests sur TIO.
Essayez-le en ligne!
la source
Stax , 33 octets
Exécuter et déboguer
Procédure:
[3, 5, 7, 9, 11, -6, 1, 0, -24, -15, 0, 6, 2, 4, 5, 2, 6, 20, 0, -3, -9, -27, -2, 0, 4, 8]
utilisant un point de code. (avec enveloppement)10
à ce pouvoir, sinon laissez tel quel.la source
Excel, 85 octets
2 bits de Golfy:
1E15
) enregistre26 bytes
.CHOOSE
lorsque rien n'est fourni est0
, enregistre4 bytes
la source
05AB1E , 36 octets
Port de la réponse Stax de @recursive .
Entrée en minuscule.
Essayez-le en ligne ou vérifiez tous les cas de test .
Explication:
Voir cette astuce 05AB1E (section Comment compresser des entiers de grande taille? Et Comment compresser des listes d’entiers? ) Pour comprendre pourquoi
•—ßusδtθ}™-5„©‘öæH•
est3133432551338094772548436198140408157771728287
et•—ßusδtθ}™-5„©‘öæH•57в
est[39,41,43,45,47,30,37,36,12,21,36,42,38,40,41,38,42,56,36,33,27,9,34,36,40,44]
.la source
Perl 5
-p
, 84 octetsEssayez-le en ligne!
la source
Python 3 , 103 octets
Essayez-le en ligne!
la source
C # (compilateur interactif Visual C #) ,
777468 octetsCommenté
Essayez-le en ligne!
la source
Perl 6 , 67 octets
Essayez-le en ligne!
Utilise une table de recherche où un nombre négatif signifie que c'est le négatif de l'exposant, sinon c'est le nombre lui-même.
la source
05AB1E , 32 octets
Essayez-le en ligne!
la source
'binary'
, haha. xD Mais je suppose que ça peut être utile comme ça parfois. ;)Bash ,
129 à100 octetsEssayez-le en ligne!
Essayez-le en ligne!Comment ça marche:
$ A: Base64 encodé "a" - "z": les nombres inférieurs à 100 sont stockés directement. Les grands nombres sont codés en tant que nombre de zéros +30. (ex: 1 000 = 33, 100 = 32, etc.)
Extrayez une lettre de $ A à la position spécifiée dans l'argument $ 1 (décodé en base64, -10 pour prendre en compte le décalage de 'a'). Base64 décoder ce caractère et le stocker dans c.
Si $ c est supérieur à 30, écrivez "1" avec les zéros $ c-30. Sinon, imprimez $ c.
la source
Sledgehammer , 17 octets
Techniquement, cela fait 133 bits, mais cela ne fait pas vraiment 16,625 octets, comme le prétend le compresseur.
Cela décode probablement à
(à peu près la même chose que ma réponse Mathematica), même si je l’ai à peine encodé (il semble que mon PC ait des problèmes de compatibilité avec tout), alors bonne chance pour le décoder à nouveau. J'ai peut-être commis des erreurs lors de l'utilisation de l'encodeur, alors soyez prudent.
la source
Gelée , 36 octets
Essayez-le en ligne!
Un lien monadique prenant une lettre minuscule comme argument et renvoyant un entier. Résultats
0
pourj
etk
.Explication
la source
Retina 0.8.2 , 89 octets
Essayez-le en ligne! Le lien inclut des cas de test. Explication:
Dupliquer l'entrée.
Remplacez la première copie par le premier chiffre du résultat correspondant.
Si le nombre a un multiple de 3 zéros finaux, obtenez ce multiple maintenant.
Et convertissez-le en nombre correspondant de zéros à la fin. (Notez que cela simplifierait la
*3*0
tâche dans Retina 1.)Réparer
d
.Réparer
l
ety
et enlever les lettres restantes.la source
PHP , 104 octets
Essayez-le en ligne!
J'ai une chaîne
^FX]0483500GC10UL0624526P0
qui contient un seul caractère pour chaque lettre saisie de "a" à "z". J'extrais ce caractère en fonction des entrées et le stocke dans$a
. Si le caractère n'est pas un chiffre, son code ASCII mod 30 sera enregistré dans$b
.Si
$a
est un chiffre, le même chiffre est imprimé, il est utilisé pour toute entrée nécessitant une sortie comprise entre 0 et 9 (comme "e", "f", etc.).Sinon si
$b
est 20 ou 11, le même numéro est imprimé, il est utilisé pour "l" et "y".Sinon, le chiffre "1" complété
$b
par "0" est imprimé. Par exemple, pour la saisie de "a", le caractère est "^" qui a un code ASCII de 94.94 % 30 = 4
"1" complété à 4 avec "0" s sera "1000".la source