Rim sonlari 7 xil belgilar bilan yasalari. Ular I, V, X, L, C, D va M bo’lib, rim raqamlari deyiladi.
Belgi Qiymati I 1 V 5 X 10 L 50 C 100 D 500 M 1000
Masalan, 2 rim raqamlarida – II. 12 – XII (X + II). 27 – XXVII (XX + V + II).
Rim raqamlari odatda chapdan o’ngga kattasidan boshlab yoziladi, lekin IIII soni IV ya’ni 5-1=4 ko’rinshida beriladi (V – I). Huddi shu qoida 9 uchun ham amal qiladi – IX. Jami 6 xil holatda ayirish bilan son hosil qilinadi:
IbelgisiV(5) vaX(10) dan oldin qo’yilib 4 va 9 hosil qilinadi.XbelgisiL(50) vaC(100) oldiga qo’yilsa, 40 va 90.CbelgisiD(500) vaM(1000) oldiga qo’yilsa, 400 va 900 hosil bo’ladi.
Massalaning sharti – oddiy sonni rim raqamlariga o’tkazish. bunda son 1 <= n <= 3999 oralig’ida beriladi deb olinadi.
Misol 1:
Input: num = 58 Output: "LVIII" Tushuntirish: L = 50, V = 5, III = 3.
Misol 2:
Input: num = 1994 Output: "MCMXCIV" Tushuntirish: M = 1000, CM = 900, XC = 90 and IV = 4.
Ishlash tartibi
Bu yerda hech qanday murakkablik yo’q:
- Sondan minglik, yuzlik, o’nlik, va birlik raqamlari ajratib olinadi.
- Minglik soni miqdoricha
Myoziladi (maksimum son 3999 bo’lgani uchun,Mmiqdori 3tagacha bo’lishi mumkin). - Yuzlik soni rim raqamlariga o’tkaziladi. Agar son
1 <= n <= 3bo’lsa, son miqdorichaC; agar sonn = 4bo’lsa,CD; agar sonn <= 5 <= 8bo’lsa, D va sonn - 5miqdorichaC; sonn = 9bo’lsa,CMyoziladi. - O’nlik soni rim raqamlariga o’tkaziladi. Agar son
1 <= n <= 3bo’lsa, son miqdorichaX; agar sonn = 4bo’lsa,XL; agar sonn <= 5 <= 8bo’lsa,Lva sonn - 5miqdorichaX; sonn = 9bo’lsa,XCyoziladi. - Va nihoyat birlik soni rim raqamlariga o’tkaziladi. Agar son
1 <= n <= 3bo’lsa, son miqdorichaI; agar sonn = 4bo’lsa,IV; agar sonn <= 5 <= 8bo’lsa,Vva sonn - 5miqdorichaI; sonn = 9bo’lsa,IXyoziladi.
Yuqoridagi tartibni kodga ko’chiramiz. Ishlash tartibiga ko’ra, yuzlik, o’nlik va birlik sonlarining rim raqamlariga o’tkazish ko’rinishi bir xil. Demak ularni qo’shimcha funksiya yordamida yasab olamiz.