Salida de la siguiente tabla:
一一得一
一二得二 二二得四
一三得三 二三得六 三三得九
一四得四 二四得八 三四十二 四四十六
一五得五 二五一十 三五十五 四五二十 五五二十五
一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六
一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九
一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四
一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一
O puede usar las primeras tres letras en su palabra en inglés, en caso de que algunos idiomas no admitan caracteres chinos:
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
Puede imprimir en cualquier formato razonable, por ejemplo, texto plano separado con espacio / coma / tabulación y nueva línea, matriz 2D donde los lugares vacíos están vacíos o no existen (el lugar 2 * 1 está vacío, por lo que no debería haber nada en el formación).
Código de golf, el código más corto en bytes gana. Se permite la codificación GBK, donde cada carácter chino usa 2 bytes.
Tabla de conversión:
一 One
二 Two
三 Thr
四 Fou
五 Fiv
六 Six
七 Sev
八 Eig
九 Nin
十 Ten
得 Get
Respuestas:
Stax , 66 caracteres
El número de bytes depende de la codificación utilizada para los caracteres chinos.
¡Ejecute y depure en línea!
Explicación
Versión alternativa (Stax 1.0.6), 59 bytes (por @recursive)
Utiliza una función inspirada en este desafío y solo se incluye en Stax 1.0.6, que es posterior al desafío.
La versión ASCII es
Esta versión construye la matriz de índice y luego lo utiliza para indexar la cadena de caracteres chinos para evitar operaciones de pila redundantes (
c
,a
,n
) y múltiple@
s.Explicación
fuente
Pitón 3 ,
151149146 bytes-3 bytes gracias a Rod .
Pruébalo en línea!
fuente
'\u200b'
(+2 bytes) en lugar de espacio para una salida exactaJavascript, 190 bytes
fuente
一十
pero cuando es 15 o 16 o cualquier otro 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")
. No he mirado muy de cerca, pero definitivamente hay otras cosas que puedes jugar al golf.Rubí , 166 bytes
Pruébalo en línea!
Una lambda que devuelve una matriz 2D de cadenas.
fuente
Yabasic ,
250242238 bytes¿Una respuesta básica con caracteres unicode? ¿Qué?
Una función anónima y una función auxiliar declarada,
c(n)
que no lleva entradas y salidas a STDOUTPruébalo en línea!
fuente
Python 3 , 196 bytes
Pruébalo en línea!
fuente
二五一十九
二六一十二
dos tipos de erroresc[(i*j%10)]
=>c[i*j%10]
?Retina , 100 caracteres, 122 bytes
Pruébalo en línea! Explicación:
Insertar nueve
_
s.Expandir a 9 filas de 1 a 9
_
s.(observe el espacio final) Expanda a 9 filas de 1 a i
_
s más i como un dígito.Convierta la
_
s en decimal y multiplique por i.Inserte un
:
si la respuesta tiene dos dígitos. Esto se convertirá en elten
personaje.Eliminar cero unidades.
Elimina el
1
de a1:
menos que sea el1:0
que tiene su cero eliminado.Inserte una
0
para respuestas de un solo dígito; Esto se convertirá en elget
personaje.Arregla todos los personajes.
fuente
JavaScript (Node.js) , 141/130 bytes
Pruébalo en línea!
fuente
APL (Dyalog) ,
75100 caracteres,97122 bytesPruébalo en línea!
fuente
Python 3 , 142 bytes
La estructura es similar a la respuesta de 146 bytes de ovs , pero los términos medios funcionan de manera diferente.
Pruébalo en línea!
Explicación
El término más interesante es el término para el número de decenas:
Tenga en cuenta que
20>y!=10
significa20 > y and y != 10
, que esFalse
cuando se debe incluir el número de decenas y de loTrue
contrario.False
tiene un valor entero de0
yTrue
tiene un valor entero de1
, por lo tanto, mientrasn[y//10]
que siempre tiene un carácter de largo, el subíndice[20>y!=10:]
es equivalente a[0:1]
(es decir, "el carácter") cuando se debe incluir el número de decenas y[1:1]
(es decir, "sin caracteres") de lo contrario.El siguiente término,
es más fácil de entender tenga en cuenta que:
得
十
得
se puede manejar después del término 'decenas' porque el término 'decenas' siempre se evalúa como una cadena vacía cuando hay un得
Nota sobre espacios finales
Los espacios finales para múltiplos de diez estiran ligeramente la especificación; como se mencionó en la barra , esto podría hacerse visualmente perfecto usando un espacio de ancho cero, pero luego también tendría que desempaquetar las matrices usando
print(*[...])
el espacio de ancho cero. como literal"\u200b"
cuando se imprime en una matriz.fuente
JavaScript, 190 bytes
Intentaré jugar golf más tarde.
fuente
Rubí , 136 bytes
El recuento de bytes en UTF-8 debe ser de 128 bytes con caracteres Han contados como 2 en lugar de 3.
Pruébalo en línea!
X
un marcador de posición para十
.X
de productos <10, los -teen para "" productos y ceros que lleva.X
caracteres Han.fuente
/// , 301 bytes (GBK *)
Pruébalo en línea!
* Las especificaciones permiten explícitamente la conversión de GBK → Unicode.
fuente
Pyth , 49 caracteres, 71 bytes
Utiliza codificación UTF-8. Pruébalo en línea aquí .
En la siguiente explicación, los
?
caracteres son sustitutos de los caracteres chinos correctos: soy demasiado vago para hacer que todo se alinee correctamente ...fuente