Menu
CoddyTech

Integer to Roman

לספרות רומיות יש שבע אותיות: M 1000, D 500, C 100, L 50, X 10, V 5 ו־I 1. האותיות מופיעות מהגדולה לקטנה ומצטברות, ולכן 7 הוא VII. אף אות לא חוזרת ארבע פעמים ברצף: 4, 9, 40, 90, 400 ו־900 נכתבים IV, IX, XL, XC, CD ו־CM — אות קטנה שמחסרים מהאות הגדולה שאחריה. רק בששת הזוגות האלה מופיעה אות קטנה לפני אות גדולה.

בהינתן מספר שלם num, החזר את הספרה הרומית שלו.

פונקציה

intToRoman(num: integer) → string
numinteger
מספר שלם מ־1 עד 3999
מחזירהstring
הספרה הרומית של num באותיות גדולות

אילוצים

  • 1 ≤ num ≤ 3999

דוגמאות

קלט
num = 49
פלט
"XLIX"
הסבר
49 הוא 40 + 9, לכן הספרה היא XL ואז IX: XLIX. IL אינו מותר, כי I מחסרת רק ב־IV וב־IX.
challenge icon

שאלת המשך

בהינתן מחרוזת, האם תוכל לבדוק אם היא ספרה רומית בצורה התקנית הזאת, כך ש־XLIX מתקבלת ואילו IIII, IL ו־VX נדחות?

איפוס הקוד
def intToRoman(num):
    # כתבו כאן קוד

בדיקה #1

בדיקה #2

בדיקה #3

ארגומנט

num = 49

הפלט הצפוי

"XLIX"