Buat kalkulator dasar untuk angka Romawi.
Persyaratan
- Mendukung
+
,-
,*
,/
- Input dan output harus mengharapkan hanya satu awalan subtractor per simbol (yaitu 3 tidak bisa
IIV
karena ada duaI
sebelumnyaV
) - Penanganan prinsip pengurangan input dan output keharusan di dukungan minimal konvensi standar modern, di mana hanya kekuatan sepuluh dikurangi dari jumlah yang lebih besar (misalnya
I
,X
,C
subtractors diperlukan tapi tidakV
,L
,D
) dan pengurangan tidak pernah dilakukan dari nomor lebih dari 10x subtractor (mis.IX
Harus didukung tetapiIC
tidak diperlukan). - Input dan output harus dibiarkan ke kanan dalam urutan nilai, dimulai dengan yang terbesar (yaitu 19 =
XIX
tidakIXX
, 10 lebih besar dari 9) - Kiri ke kanan, tidak ada prioritas operator, seolah-olah Anda menggunakan kalkulator tangan.
- Mendukung seluruh bilangan positif input / output antara 1-4999 (tidak perlu untuk V̅)
- Tidak ada perpustakaan yang melakukan konversi angka romawi untuk Anda
Bagi Anda untuk memutuskan
- Sensitivitas kasus
- Spasi atau tidak ada spasi pada input
- Apa yang terjadi jika Anda mendapatkan output desimal. Potong, tidak ada jawaban, kesalahan, dll.
- Apa yang harus dilakukan untuk output yang tidak dapat Anda tangani. Negatif atau angka hingga besar untuk dicetak.
- Apakah akan mendukung penggunaan prinsip pengurangan yang lebih liberal daripada persyaratan minimum.
Kredit tambahan
- -50 - Tangani hingga 99999 atau lebih besar. Simbol harus menyertakan vinculum
Contoh input / output
XIX + LXXX (19+80)
XCIX
XCIX + I / L * D + IV (99+1/50*500+4)
MIV
Kode terpendek menang.
IM = 999
diperlukan penanganan angka ?
IM
. Apakah outputnya IM
atau CMXCIX
untuk 999 terserah Anda. Keduanya sesuai dengan persyaratan.