Buat kalkulator dasar untuk angka Romawi.
Persyaratan
- Mendukung
+,-,*,/ - Input dan output harus mengharapkan hanya satu awalan subtractor per simbol (yaitu 3 tidak bisa
IIVkarena ada duaIsebelumnyaV) - 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,Csubtractors diperlukan tapi tidakV,L,D) dan pengurangan tidak pernah dilakukan dari nomor lebih dari 10x subtractor (mis.IXHarus didukung tetapiICtidak diperlukan). - Input dan output harus dibiarkan ke kanan dalam urutan nilai, dimulai dengan yang terbesar (yaitu 19 =
XIXtidakIXX, 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 = 999diperlukan penanganan angka ?
IM. Apakah outputnya IMatau CMXCIXuntuk 999 terserah Anda. Keduanya sesuai dengan persyaratan.