Wyjdź z poniższej tabeli:
一一得一
一二得二 二二得四
一三得三 二三得六 三三得九
一四得四 二四得八 三四十二 四四十六
一五得五 二五一十 三五十五 四五二十 五五二十五
一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六
一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九
一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四
一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一
Możesz też użyć pierwszych trzech liter w angielskim słowie, w przypadku gdy niektóre języki nie obsługują chińskich znaków:
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
Możesz wydrukować w dowolnym rozsądnym formacie, np. Zwykły tekst oddzielony spacją / przecinkiem / tabulatorem i znakiem nowej linii, tablica 2D, w której puste miejsca są puste lub nie istnieją (miejsce 2 * 1 jest puste, więc nie powinno być niczego w szyk).
Kod golfa, najkrótszy kod w bajtach wygrywa. Dozwolone jest kodowanie GBK, gdzie każdy chiński znak używa 2 bajtów.
Konwersja tabeli:
一 One
二 Two
三 Thr
四 Fou
五 Fiv
六 Six
七 Sev
八 Eig
九 Nin
十 Ten
得 Get
Odpowiedzi:
Stax , 66 znaków
Liczba bajtów zależy od kodowania użytego dla chińskich znaków.
Uruchom i debuguj online!
Wyjaśnienie
Alternatywna wersja (Stax 1.0.6), 59 bajtów (autor @recursive)
Korzysta z funkcji zainspirowanej tym wyzwaniem i jest zawarta tylko w Stax 1.0.6, który jest późniejszy niż wyzwanie.
Wersja ASCII to
Ta wersja konstruuje tablicę indeksu, a następnie wykorzystuje je do indeksu ciąg znaków chińskich, aby uniknąć zbędnych operacji stosu (
c
,a
,n
) i stwardnienie@
s.Wyjaśnienie
źródło
Python 3 ,
151149146 bajtów-3 bajty dzięki Rod .
Wypróbuj online!
źródło
'\u200b'
(+2 bajty) zamiast spacji dla dokładnego wynikuJavaScript, 190 bajtów
źródło
一十
ale kiedy jest 15 lub 16 lub jakikolwiek inny numer, który pomijamy一
?(_="得一二三四五六七八九十")=>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")
. Nie przyjrzałem się zbyt uważnie, ale na pewno można grać w golfa.Rubin , 166 bajtów
Wypróbuj online!
Lambda zwraca tablicę 2D ciągów.
źródło
Yabasic ,
250242238 bajtówPodstawowa odpowiedź ze znaków Unicode ?! Co?
Anonimowa funkcja i zadeklarowana funkcja pomocnicza,
c(n)
która nie pobiera danych wejściowych i wyjściowych do STDOUTWypróbuj online!
źródło
Python 3 , 196 bajtów
Wypróbuj online!
źródło
二五一十九
二六一十二
dwa rodzaje złac[(i*j%10)]
=>c[i*j%10]
?Siatkówka , 100 znaków, 122 bajty
Wypróbuj online! Wyjaśnienie:
Wstaw dziewięć
_
s.Rozwiń do 9 rzędów od 1 do 9
_
s.(uwaga końcowa spacja) Rozwiń do 9 wierszy od 1 do i
_
s plus i jako cyfrę.Konwertuj
_
s na dziesiętne i pomnóż przez i.Wstaw a,
:
jeśli odpowiedź ma dwie cyfry. To stanie sięten
postacią.Usuń jednostki zerowe.
Usuń
1
z,1:
chyba że1:0
usunięto zero.Wpisz a w
0
przypadku jednocyfrowych odpowiedzi; to stanie sięget
postacią.Napraw wszystkie postacie.
źródło
JavaScript (Node.js) , 141/130 bajtów
Wypróbuj online!
źródło
APL (Dyalog) ,
75100 znaków,97122 bajtówWypróbuj online!
źródło
Python 3 , 142 bajty
Struktura jest podobna do 146-bajtowej odpowiedzi ovsa , ale warunki środkowe działają w inny sposób.
Wypróbuj online!
Wyjaśnienie
Najciekawszym terminem jest liczba dziesiątek:
Zauważ, że
20>y!=10
oznacza to20 > y and y != 10
,False
kiedy należy podać liczbę dziesiątek iTrue
inaczej.False
ma wartość całkowitą0
iTrue
ma wartość całkowitą wynoszącą1
, więc podczas gdyn[y//10]
zawsze ma długość jednego znaku, indeks dolny[20>y!=10:]
jest równoważny[0:1]
(tj. „znakowi”), gdy liczba dziesiątek powinna być uwzględniona, i[1:1]
(tj. „bez znaków”) w przeciwnym razie.Następujący termin
jest łatwiejszy do zrozumienia; zauważ, że:
得
十
得
można obsługiwać po wyrażeniu „dziesiątki”, ponieważ wyrażenie „dziesiątki” zawsze zmienia się w pusty ciąg, gdy występuje得
Uwaga na końcowe spacje
Końcowe spacje dla wielokrotności dziesięciu nieznacznie rozciągają specyfikację - jak wspomniano przez pręt , można to zrobić wizualnie perfekcyjnie, stosując spację o zerowej szerokości, ale wtedy trzeba też rozpakować tablice, używając
print(*[...])
reprezentowanej przestrzeni o zerowej szerokości jako literał"\u200b"
po wydrukowaniu w tablicy.źródło
JavaScript, 190 bajtów
Spróbuję zagrać w golfa później.
źródło
Rubin , 136 bajtów
Liczba bajtów w UTF-8 powinna wynosić 128 bajtów, przy czym znaki Hana liczone są jako 2 zamiast 3.
Wypróbuj online!
X
jako symbol zastępczy dla十
.X
produkty <10, wiodące dla produktów „-nastu” i końcowe zera.X
znaki Han.źródło
/// , 301 bajtów (GBK *)
Wypróbuj online!
* Spec wyraźnie zezwala na konwersję GBK → Unicode.
źródło
Pyth , 49 znaków, 71 bajtów
Wykorzystuje kodowanie UTF-8. Wypróbuj online tutaj .
W poniższym objaśnieniu
?
znaki są zamiennikami poprawnych chińskich znaków - jestem zbyt leniwy, aby wszystko poprawnie ułożyć ...źródło