Poligon diberi nama berdasarkan jumlah sisi yang mereka miliki. Sebuah segi lima memiliki 5 sisi, segi delapan memiliki 8 sisi. Tapi bagaimana namanya? Apa nama untuk poligon bersisi 248?
Semua poligon diakhiri dengan -gon
. Ada awalan khusus untuk setiap poligon tergantung pada jumlah sisi. Berikut adalah awalan untuk angka yang lebih rendah:
3 - tri
4 - tetra
5 - penta
6 - hexa
7 - hepta
8 - octa
9 - nona
10 - deca
11 - undeca
12 - dodeca
13 - triskaideca
14 - tetradeca
15 - pentadeca
16 - hexadeca
17 - heptadeca
18 - octadeca
19 - nonadeca
20 - icosa
Poligon dengan sisi 21 hingga 99 memiliki sistem yang berbeda. Ambil awalan untuk puluhan digit (ditemukan di kolom kiri), digit yang (kolom kanan di bawah), dan kemudian tempelkan "kai" di antara mereka untuk mendapatkan (tens)kai(ones)gon
.
10 - deca | 1 - hena
20 - icosi | 2 - di
30 - triaconta | 3 - tri
40 - tetraconta | 4 - tetra
50 - pentaconta | 5 - penta
60 - hexaconta | 6 - hexa
70 - heptaconta | 7 - hepta
80 - octaconta | 8 - octa
90 - nonaconta | 9 - nona
Poligon sisi 3 digit diberi nama dengan cara yang sama. Poligon bersisi 100 disebut satu hektogon. Ambil ratusan digit, temukan di kolom untuk digit satu, lalu tempelkan "hekta" di sebelah kanannya. Sekarang jumlah dari puluhan dan satuan seperti di atas: (hundreds)hecta(tens)kai(ones)gon
. Jika digit angka ratusan adalah 1, jangan letakkan awalan di belakang "hekta"; jika tempat yang adalah 0, maka abaikan bagian (yang).
Jadi, diberi bilangan bulat (3 <= n <= 999), kembalikan nama poligon bersisi-n. n-gon
bukan jawaban yang valid: P
Seperti semua kode golf, kode terpendek menang.
ennea-
, tapi saya sudah sering mendengar "nonagon" daripada "enneagon", jadi saya setuju.deca
, terima kasih sudah menunjukkannya. 110 - hektadecagon, 120 - hektaicosigon. 101 - hektakaihenagon.Jawaban:
C,
401, 391Mari kita letakkan sesuatu di sana sehingga setidaknya ada satu jawaban untuk referensi :-)
Uji dengan:
Subset dari output:
sumber
if..else
dengan?:
(dan;
dengan,
) untuk menyimpan beberapa karakter. Jugat>1&&p(t)
dan perubahan serupa dapat membantu. Dan saya tidak yakin, tapi mungkin Anda bisa mengatur ulangs
sehingga konstanta yang Anda gunakan adalah satu digit.JavaScript -
405386Versi 1: (405 karakter)
Versi 2: (386 karakter)
Contoh keluaran:
sumber
Cobra - 370 byte
Ini saat ini fungsi, tetapi jika itu tidak diizinkan maka saya akan mengubahnya.
Dan untuk beberapa alasan stabilo kobra telah
//
ditetapkan sebagai komentar, yang salah.sumber