Sortez le tableau suivant:
一一得一
一二得二 二二得四
一三得三 二三得六 三三得九
一四得四 二四得八 三四十二 四四十六
一五得五 二五一十 三五十五 四五二十 五五二十五
一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六
一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九
一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四
一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一
Ou vous pouvez utiliser les trois premières lettres de son mot anglais, au cas où certaines langues ne prennent pas en charge les caractères chinois:
OneOneGetOne
OneTwoGetTwo TwoTwoGetFou
OneThrGetThr TwoThrGetSix ThrThrGetNin
OneFouGetFou TwoFouGetEig ThrFouTenTwo FouFouTenSix
OneFivGetFiv TwoFivOneTen ThrFivTenFiv FouFivTwoTen FivFivTwoTenFiv
OneSixGetSix TwoSixTenTwo ThrSixTenEig FouSixTwoTenFou FivSixThrTen SixSixThrTenSix
OneSevGetSev TwoSevTenFou ThrSevTwoTenOne FouSevTwoTenEig FivSevThrTenFiv SixSevFouTenTwo SevSevFouTenNin
OneEigGetEig TwoEigTenSix ThrEigTwoTenFou FouEigThrTenTwo FivEigFouTen SixEigFouTenEig SevEigFivTenSix EigEigSixTenFou
OneNinGetNin TwoNinTenEig ThrNinTwoTenSev FouNinThrTenSix FivNinFouTenFiv SixNinFivTenFou SevNinSixTenThr EigNinSevTenTwo NinNinEigTenOne
Vous pouvez sortir dans n'importe quel format raisonnable, par exemple du texte brut séparé par un espace / virgule / tabulation et une nouvelle ligne, un tableau 2D où les espaces vides sont vides ou n'existent pas (L'endroit 2 * 1 est vide, donc il ne devrait rien y avoir dans le tableau).
Code golf, code le plus court en octets gagnant. Le codage GBK est autorisé, où chaque caractère chinois utilise 2 octets.
Conversion de la table:
一 One
二 Two
三 Thr
四 Fou
五 Fiv
六 Six
七 Sev
八 Eig
九 Nin
十 Ten
得 Get
Réponses:
Stax , 66 caractères
Le nombre d'octets dépend du codage utilisé pour les caractères chinois.
Exécutez et déboguez en ligne!
Explication
Version alternative (Stax 1.0.6), 59 octets (par @recursive)
Cela utilise une fonctionnalité inspirée de ce défi et n'est incluse que dans Stax 1.0.6 qui est postérieur au défi.
La version ASCII est
Cette version construit le tableau d'index et utilise ensuite pour indexer la chaîne de caractères chinois pour éviter les opérations de pile redondantes (
c
,a
,n
) et multiple@
s.Explication
la source
Python 3 ,
151149146 146 octets-3 octets grâce à Rod .
Essayez-le en ligne!
la source
'\u200b'
(+2 octets) à la place de l'espace pour une sortie exacteJavascript, 190 octets
la source
一十
mais quand est 15 ou 16 ou tout autre numéro que nous omettons一
?(_="得一二三四五六七八九十")=>eval("for(i=1;i<10;i++){for(t='',v=0;v<i;t+=_[++v]+_[i]+[...(v*i+'')].map((a,b,c)=>c.length>1&&b==0?(a>1?_[a]+'十':'十'):b==0?'得'+_[a]:_[a]).join``+' ');t")
. Je n'ai pas regardé de trop près, mais il y a certainement d'autres choses que vous pouvez jouer au golf.Rubis , 166 octets
Essayez-le en ligne!
Un lambda renvoyant un tableau 2D de chaînes.
la source
Yabasic ,
250242238 octetsUn basique réponse avec des caractères Unicode?! Quelle?
Une fonction anonyme et une fonction d'assistance déclarée,
c(n)
qui ne prennent aucune entrée et sortie à STDOUTEssayez-le en ligne!
la source
Python 3 , 196 octets
Essayez-le en ligne!
la source
二五一十九
二六一十二
deux types de malc[(i*j%10)]
=>c[i*j%10]
?Rétine , 100 caractères, 122 octets
Essayez-le en ligne!Explication:
Insérer neuf
_
s.Développer jusqu'à 9 rangées de 1 à 9
_
s.(notez l'espace de fin) Développez jusqu'à 9 rangées de 1 à i
_
s plus i sous forme de chiffre.Convertissez le
_
s en décimal et multipliez par i.Insérez un
:
si la réponse comporte deux chiffres. Cela deviendra leten
personnage.Supprimez zéro unité.
Supprimer le
1
à1:
moins qu'il ne soit1:0
dont le zéro a été supprimé.Insérez un
0
pour les réponses à un chiffre; cela deviendra leget
personnage.Réparez tous les personnages.
la source
JavaScript (Node.js) , 141/130 octets
Essayez-le en ligne!
la source
APL (Dyalog) ,
75100 caractères,97122 octetsEssayez-le en ligne!
la source
Python 3 , 142 octets
La structure est similaire à la réponse de 146 octets des ovs , mais les termes intermédiaires fonctionnent d'une manière différente.
Essayez-le en ligne!
Explication
Le terme le plus intéressant est le terme pour le nombre de dizaines:
Notez que cela
20>y!=10
signifie20 > y and y != 10
queFalse
le nombre de dizaines doit être inclus etTrue
sinon.False
a une valeur entière de0
etTrue
a une valeur entière de1
, donc alors qu'iln[y//10]
fait toujours un caractère, l'indice[20>y!=10:]
est équivalent à[0:1]
(c'est- à -dire "le caractère") lorsque le nombre de dizaines doit être inclus et[1:1]
(c'est-à-dire "pas de caractères") sinon.Le terme suivant,
est plus facile à comprendre; Notez que:
得
十
得
peut être gérée après le terme «dizaines» car le terme «dizaines» est toujours évalué comme une chaîne vide lorsqu'il y a un得
Remarque sur les espaces de fin
Les espaces de fuite pour des multiples de dix étirent légèrement la spécification - comme mentionné par la tige , cela pourrait être rendu visuellement parfait en utilisant un espace de largeur nulle, mais vous devrez également déballer les tableaux en utilisant
print(*[...])
comme l'espace de largeur nulle est représenté comme littéral"\u200b"
lorsqu'il est imprimé dans un tableau.la source
JavaScript, 190 octets
J'essaierai de jouer au golf plus tard.
la source
Rubis , 136 octets
Le nombre d'octets en UTF-8 doit être de 128 octets avec des caractères Han comptés comme 2 au lieu de 3.
Essayez-le en ligne!
X
un espace réservé pour十
.X
pour les produits <10, les principaux pour les produits «-teen» et les zéros à la fin.X
les caractères Han.la source
/// , 301 octets (GBK *)
Essayez-le en ligne!
* La spécification autorise explicitement la conversion GBK → Unicode.
la source
Pyth , 49 caractères, 71 octets
Utilise le codage UTF-8. Essayez-le en ligne ici .
Dans l'explication suivante, les
?
caractères remplacent les bons caractères chinois - je suis trop paresseux pour que tout s'aligne correctement ...la source