Menu
CoddyTech
flag Ar iconالعربيةdown icon

Roman to Integer

تستخدم الأرقام الرومانية سبعة رموز: I = 1، وV = 5، وX = 10، وL = 50، وC = 100، وD = 500، وM = 1000. تُكتب الرموز من الأكبر إلى الأصغر وتُجمع، باستثناء ستة أزواج طرحية يأتي فيها رمز أصغر أولًا ويُطرح من الرمز الأكبر: IV = 4، وIX = 9، وXL = 40، وXC = 90، وCD = 400، وCM = 900.

لديك رقم روماني صالح s. أعد العدد الصحيح الذي يمثله.

الدالة

romanToInt(s: string) → integer
sstring
رقم روماني صحيح مكتوب بأحرف كبيرة
تُرجعinteger
قيمة الرقم، من 1 إلى 3999

القيود

  • 1 ≤ s.length ≤ 15
  • s يحتوي فقط على الأحرف I وV وX وL وC وD وM.
  • s هو رقم روماني صالح لقيمة من 1 إلى 3999.

أمثلة

المدخلات
s = "XXVII"
المخرجات
27
الشرح
XX يساوي 10 + 10، وV يساوي 5، وII يساوي 1 + 1، لذا يكون المجموع 27. لا يتبع أيَّ رمزٍ رمزٌ أكبر منه، لذا تُضاف قيمة كل رمز.

lock icon+22 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

هل يمكنك كتابة العكس، بتحويل عدد صحيح من 1 إلى 3999 إلى رقمه الروماني؟

إعادة ضبط الشيفرة
def romanToInt(s):
    # اكتب الكود هنا
حالات الاختبار

الحالة 1

الحالة 2

الحالة 3

المدخلات

s = "XXVII"

المتوقع

27