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"