Keluarkan tabel berikut:
一一得一
一二得二 二二得四
一三得三 二三得六 三三得九
一四得四 二四得八 三四十二 四四十六
一五得五 二五一十 三五十五 四五二十 五五二十五
一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六
一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九
一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四
一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一
Atau Anda dapat menggunakan tiga huruf pertama dalam kata bahasa Inggrisnya, jika beberapa bahasa tidak mendukung karakter Cina:
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
Anda dapat menampilkan dalam format apa pun yang masuk akal, misalnya teks biasa yang dipisahkan dengan spasi / koma / tab dan baris baru, array 2D di mana tempat kosong kosong atau tidak ada (Tempat 2 * 1 kosong sehingga tidak boleh ada apa pun di Himpunan).
Golf kode, kode terpendek dalam byte menang. Pengkodean GBK diperbolehkan, di mana setiap karakter bahasa Mandarin menggunakan 2 byte.
Meja Konversi:
一 One
二 Two
三 Thr
四 Fou
五 Fiv
六 Six
七 Sev
八 Eig
九 Nin
十 Ten
得 Get
Jawaban:
Stax , 66 karakter
Jumlah byte tergantung pada pengkodean yang digunakan untuk karakter Cina.
Jalankan dan debug online!
Penjelasan
Versi alternatif (Stax 1.0.6), 59 byte (oleh @recursive)
Ini menggunakan fitur yang terinspirasi oleh tantangan ini dan hanya termasuk dalam Stax 1.0.6 yang mengunggah tantangan.
Versi ASCII adalah
Versi ini membangun array indeks dan kemudian menggunakannya untuk indeks string karakter Cina untuk menghindari operasi stack berlebihan (
c
,a
,n
) dan beberapa@
s.Penjelasan
sumber
Python 3 ,
151149146 byte-3 byte terima kasih kepada Rod .
Cobalah online!
sumber
'\u200b'
(+2 byte) sebagai ganti ruang untuk output yang tepatJavascript, 190 byte
sumber
一十
tetapi kapan 15 atau 16 atau nomor lain yang kita hilangkan一
?(_="得一二三四五六七八九十")=>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")
. Saya belum melihat terlalu dekat, tetapi pasti ada beberapa hal lain yang bisa Anda mainkan.Ruby , 166 byte
Cobalah online!
Sebuah lambda mengembalikan deretan string 2D.
sumber
Yabasic ,
250242238 byteSebuah dasar jawaban dengan karakter unicode ?! Apa?
Fungsi anonim dan fungsi pembantu yang dinyatakan,
c(n)
yang tidak memerlukan input dan output ke STDOUTCobalah online!
sumber
Python 3 , 196 byte
Cobalah online!
sumber
二五一十九
二六一十二
dua jenis kesalahanc[(i*j%10)]
=>c[i*j%10]
?Retina , 100 karakter, 122 byte
Cobalah online! Penjelasan:
Masukkan sembilan
_
s.Luaskan ke 9 baris 1 hingga 9
_
dtk.(note trailing space)
_
Tambahkan 9 baris 1 ke i s plus i sebagai digit.Ubah
_
s menjadi desimal dan kalikan dengan i.Masukkan a
:
jika jawabannya memiliki dua digit. Ini akan menjaditen
karakter.Hapus nol unit.
Hapus
1
dari1:
kecuali itu1:0
yang nol dihapus.Masukkan
0
jawaban satu digit; ini akan menjadiget
karakter.Perbaiki semua karakter.
sumber
JavaScript (Node.js) , 141/130 byte
Cobalah online!
sumber
APL (Dyalog) ,
75100 karakter,97122 byteCobalah online!
sumber
Python 3 , 142 byte
Struktur mirip dengan jawaban 146 byte ovs , tetapi istilah tengahnya bekerja dengan cara yang berbeda.
Cobalah online!
Penjelasan
Istilah yang paling menarik adalah istilah untuk jumlah puluhan:
Perhatikan itu
20>y!=10
artinya20 > y and y != 10
,False
saat itulah jumlah puluhan harus dimasukkan danTrue
sebaliknya.False
memiliki nilai integer0
danTrue
memiliki nilai integer1
, jadi ketikan[y//10]
panjang selalu satu karakter, subskripnya[20>y!=10:]
sama dengan[0:1]
(yaitu "karakter") ketika jumlah puluhan harus dimasukkan dan[1:1]
(yaitu "tidak ada karakter") sebaliknya.Istilah berikut,
lebih mudah dipahami; perhatikan bahwa:
得
十
得
dapat ditangani setelah istilah 'puluhan' karena istilah 'puluhan' selalu dievaluasi menjadi string kosong ketika ada a得
Catatan tentang spasi tambahan
Spasi trailing untuk kelipatan sepuluh meregangkan spesifikasi sedikit - seperti yang disebutkan oleh batang , ini bisa dibuat secara visual sempurna dengan menggunakan ruang lebar-nol, tetapi kemudian Anda juga harus membongkar array menggunakan
print(*[...])
sebagai ruang lebar-nol diwakili sebagai literal"\u200b"
ketika dicetak dalam sebuah array.sumber
JavaScript, 190 byte
Saya akan mencoba golf ini nanti.
sumber
Ruby , 136 byte
Jumlah byte dalam UTF-8, harus 128 byte dengan karakter Han dihitung sebagai 2 bukannya 3.
Cobalah online!
X
sebagai pengganti十
.X
produk <10, yang terkemuka untuk produk "-teen", dan tertinggal nol.X
ke karakter Han.sumber
/// , 301 byte (GBK *)
Cobalah online!
* Spec secara eksplisit memungkinkan GBK → Konversi Unicode.
sumber
Pyth , 49 karakter, 71 byte
Menggunakan pengkodean UTF-8. Cobalah online di sini .
Dalam penjelasan berikut,
?
karakter adalah pengganti untuk karakter Cina yang benar - Saya terlalu malas untuk membuat semuanya sejalan dengan benar ...sumber