Memasukkan:
Bilangan bulat.
Keluaran:
- Pertama-tama, konversi bilangan bulat ke Angka Romawi yang setara.
- Kemudian konversikan setiap huruf kapital Angka Romawi itu dengan nilai desimal ASCII / UNICODE mereka.
- Dan hasilkan jumlah itu.
Contoh:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
Angka Romawi: Berikut ini adalah Penghitung Angka Romawi yang mungkin berguna.
Aturan tantangan:
- Aturan Angka Romawi standar diterapkan, jadi tidak ada bentuk alternatif suka
IIII
atauVIIII
bukanIV
danIX
. * - Garis Macron di atas Angka Romawi melewati 1.000 adalah
¯
(UNICODE no. 175). Jadi satu baris diperhitungkan sebagai+175
dan dua sebagai+350
. - Anda diizinkan menggunakan segala jenis input dan output, asalkan itu mewakili bilangan bulat.
- Kasus uji akan berada dalam kisaran
1 - 2,147,483,647
.
* Aturan Angka Romawi (kutipan dari Wikipedia):
Bilangan dibentuk dengan menggabungkan simbol-simbol dan menambahkan nilainya, demikian
II
juga dua (dua) danXIII
tiga belas (sepuluh dan tiga). Karena setiap angka memiliki nilai tetap dan bukan mewakili kelipatan sepuluh, seratus dan seterusnya, sesuai posisi, tidak perlu untuk "menjaga tempat" nol, seperti dalam angka seperti 207 atau 1066; angka-angka itu ditulis sebagaiCCVII
(dua ratus, lima dan dua) danMLXVI
(seribu, lima puluh, sepuluh, lima dan satu).Simbol ditempatkan dari kiri ke kanan dalam urutan nilai, dimulai dengan yang terbesar. Namun, dalam beberapa kasus tertentu, untuk menghindari empat karakter diulang secara berurutan (seperti
IIII
atauXXXX
), notasi subtraktif sering digunakan sebagai berikut:
I
ditempatkan sebelumV
atauX
menunjukkan satu kurang, jadi empat adalahIV
(satu kurang dari lima) dan sembilan adalahIX
(satu kurang dari sepuluh)X
ditempatkan sebelumL
atauC
menunjukkan sepuluh kurang, jadi empat puluh adalahXL
(sepuluh kurang dari lima puluh) dan sembilan puluh adalahXC
(sepuluh kurang dari seratus)C
ditempatkan sebelumD
atauM
menunjukkan seratus lebih sedikit, jadi empat ratus adalahCD
(seratus kurang dari lima ratus) dan sembilan ratus adalahCM
(seratus kurang dari seribu)
Misalnya,MCMIV
seribu sembilan ratus empat, 1904 (M
seribu,CM
adalah sembilan ratusIV
empat).Beberapa contoh penggunaan modern angka Romawi meliputi:
1954 sebagaiMCMLIV
; 1990 sebagaiMCMXC
; 2014 sebagaiMMXIV
SUMBER
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat, program lengkap. Panggilanmu.
- Celah Default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, silakan tambahkan penjelasan jika perlu.
Kasus uji:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
-> M(X)CMXCIX
-> 77+263+67+77+88+67+73+88
-> 800
dan 2147483647
-> ((MMCXLV)MMCDLXXX)MMMDCXLVII
-> 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
-> 5362
. Jadi saya sudah mengoreksi yang kedua, tetapi yang 9999
benar.
2222222222
tidak dalam kisaran yang diberikan. Saya juga setuju 5362
.