Saída da seguinte tabela:
一一得一
一二得二 二二得四
一三得三 二三得六 三三得九
一四得四 二四得八 三四十二 四四十六
一五得五 二五一十 三五十五 四五二十 五五二十五
一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六
一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九
一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四
一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一
Ou você pode usar as três primeiras letras da palavra em inglês, caso alguns idiomas não suportem caracteres chineses:
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
Você pode imprimir em qualquer formato razoável, por exemplo, texto sem formatação separado por espaço / vírgula / guia e nova linha, matriz 2D onde os lugares vazios estão vazios ou não existem (o local 2 * 1 está vazio, portanto não deve haver nada no array).
Código de golfe, o código mais curto em bytes ganha. A codificação GBK é permitida, onde cada caractere chinês usa 2 bytes.
Tabela de conversão:
一 One
二 Two
三 Thr
四 Fou
五 Fiv
六 Six
七 Sev
八 Eig
九 Nin
十 Ten
得 Get
Respostas:
Stax , 66 caracteres
O número de bytes depende da codificação usada para caracteres chineses.
Execute e depure online!
Explicação
Versão alternativa (Stax 1.0.6), 59 bytes (por @recursive)
Ele usa um recurso inspirado nesse desafio e está incluído apenas no Stax 1.0.6, que é posterior ao desafio.
A versão ASCII é
Esta versão constrói a matriz de índice e, em seguida, usa-lo para indexar o conjunto de caracteres chineses para evitar operações de pilha redundantes (
c
,a
,n
) e múltipla@
s.Explicação
fonte
Python 3 ,
151149146 bytes-3 bytes graças a Rod .
Experimente online!
fonte
'\u200b'
(+2 bytes) em vez espaço para uma saída exataJavascript, 190 bytes
fonte
一十
mas quando é 15 ou 16 ou qualquer outro número que omitimos一
?(_="得一二三四五六七八九十")=>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")
. Eu não olhei muito de perto, mas definitivamente existem outras coisas que você pode jogar golfe.Ruby , 166 bytes
Experimente online!
Um lambda retornando uma matriz 2D de seqüências de caracteres.
fonte
Yabasic ,
250242238 bytesUma resposta básica com caracteres unicode ?! O que?
Uma função anônima e uma função auxiliar declarada,
c(n)
que não leva nenhuma entrada e saída para STDOUTExperimente online!
fonte
Python 3 , 196 bytes
Experimente online!
fonte
二五一十九
二六一十二
dois tipos de erradoc[(i*j%10)]
=>c[i*j%10]
?Retina , 100 caracteres, 122 bytes
Experimente online! Explicação:
Insira nove
_
s.Expanda para 9 linhas de 1 a 9
_
s.(observe o espaço à direita) Expanda para 9 linhas de 1 a i
_
s mais i como um dígito.Converta
_
s em decimal e multiplique por i.Insira a
:
se a resposta tiver dois dígitos. Isso se tornará oten
personagem.Exclua zero unidades.
Exclua o
1
de, a1:
menos que seja o1:0
seu zero removido.Insira a
0
para respostas de um dígito; isso se tornará oget
personagem.Corrija todos os personagens.
fonte
JavaScript (Node.js) , 141/130 bytes
Experimente online!
fonte
APL (Dyalog) ,
75100 caracteres,97122 bytesExperimente online!
fonte
Python 3 , 142 bytes
A estrutura é semelhante à resposta de 146 bytes do ovs , mas os termos do meio funcionam de maneira diferente.
Experimente online!
Explicação
O termo mais interessante é o termo para o número de dezenas:
Observe que
20>y!=10
significa20 > y and y != 10
, que éFalse
quando o número de dezenas deve ser incluído ouTrue
não.False
tem um valor inteiro de0
eTrue
tem um valor inteiro de1
, portanto, emboran[y//10]
sempre tenha um caractere, o índice[20>y!=10:]
é equivalente a[0:1]
(ou seja, "o caractere") quando o número de dezenas deve ser incluído e[1:1]
(por exemplo, "sem caracteres").O termo a seguir,
é mais fácil de entender; Observe que:
得
十
得
pode ser manipulado após o termo 'dezenas' porque o termo 'dezenas' sempre é avaliado como uma cadeia vazia quando existe um得
Nota sobre espaços à direita
Os espaços à direita para múltiplos de dez esticam um pouco a especificação - como mencionado pela haste , isso pode ser visualmente perfeito usando um espaço de largura zero, mas você também precisa descompactar as matrizes usando
print(*[...])
como o espaço de largura zero é representado como um literal"\u200b"
quando impresso em uma matriz.fonte
JavaScript, 190 bytes
Vou tentar jogar isso mais tarde.
fonte
Ruby , 136 bytes
A contagem de bytes em UTF-8 deve ter 128 bytes, com caracteres Han contados como 2 em vez de 3.
Experimente online!
X
como um espaço reservado para十
.X
para produtos <10, principais para produtos com "quatorze" e zeros à direita.X
para caracteres Han.fonte
/// , 301 bytes (GBK *)
Experimente online!
* Spec permite explicitamente a conversão GBK → Unicode.
fonte
Pitão , 49 caracteres, 71 bytes
Usa codificação UTF-8. Experimente online aqui .
Na explicação a seguir, os
?
caracteres são substitutos dos caracteres chineses corretos - tenho preguiça de fazer tudo alinhar corretamente ...fonte