ما هي حاسبة الأرقام الرومانية؟
هذه الأداة تُجري العمليات الحسابية على الأرقام الرومانية. أدخل قيمتين — يمكن أن تكون كل منهما رقمًا رومانيًا (باستخدام الرموز I وV وX وL وC وD وM) أو عددًا صحيحًا عاديًا — ثم اختر العملية الحسابية، لتعرض لك الحاسبة الناتج بالصيغتين: رقمًا رومانيًا وعددًا عربيًا (عشريًا) في آنٍ واحد، مع عرض موجز لخطوات الحل. وهي مثالية للطلاب والمعلمين وحصص التاريخ واللاتينية، ولمحبي الألغاز، ولكل من يحتاج إلى فك رموز واجهات الساعات أو سنوات حقوق النشر أو حجارة الأساس في المباني.
كيفية الاستخدام
اكتب الرقم الأول (مثلًا DCCXXVI أو ببساطة 726)، ثم اختر العملية — جمع أو طرح أو ضرب أو قسمة — وبعدها اكتب الرقم الثاني (مثلًا XLVIII أو 48). لا تفرق الحاسبة بين الأحرف الكبيرة والصغيرة، وتعرض المدخلات بالأحرف الكبيرة. أما النتائج التي تساوي صفرًا أو تكون سالبة، وكذلك القسمة على صفر، فتُنبَّه عليها لأن الأرقام الرومانية لا تملك رمزًا للصفر ولا للأعداد السالبة ولا للكسور.
شرح المعادلة
في البداية يُحلَّل كل مدخل إلى عدد صحيح باستخدام قاعدة الطرح المعروفة: يُمسح الرقم من اليسار إلى اليمين، فيُطرح الرمز إذا كان أصغر من الرمز الذي يليه مباشرة، وإلا فيُجمع:
$$\text{value} = \sum_i \begin{cases} -v_i & v_i < v_{i+1} \\ +v_i & \text{otherwise} \end{cases}$$بعد ذلك تُطبَّق العملية المختارة (\(a + b\) أو \(a - b\) أو \(a \times b\) أو \(a \div b\)) على العددين الصحيحين:
$$\text{result} = \text{value}(N_1) \; \square \; \text{value}(N_2) \;\rightarrow\; \text{Roman}$$وأخيرًا يُحوَّل الناتج الصحيح عائدًا إلى الصيغة الرومانية بخوارزمية «الطمع» (greedy) باستخدام القيم المرتبة: \(1000=M\)، \(900=CM\)، \(500=D\)، \(400=CD\)، \(100=C\)، \(90=XC\)، \(50=L\)، \(40=XL\)، \(10=X\)، \(9=IX\)، \(5=V\)، \(4=IV\)، \(1=I\). أما القسمة فتعتمد ناتج القسمة الصحيح (التقريب لأسفل) لأن الأرقام الرومانية لا تستطيع التعبير عن الكسور.
مثال محلول
DCCXXVI (726) + XLVIII (48) = 774. وعند تحويل 774:
$$\text{DCC}\,(700) + \text{L}\,(50) + \text{XX}\,(20) + \text{IV}\,(4) = \textbf{DCCLXXIV}$$إذن الناتج هو DCCLXXIV، أي 774 بالأرقام العربية. ومثال آخر:
$$\text{XII}\,(12) \times \text{IV}\,(4) = 48 = \text{XLVIII}$$
الأسئلة الشائعة
هل يمكنني الخلط بين المدخلات الرومانية والعربية؟ نعم — يقبل كل حقل نصًّا برقم روماني أو عددًا صحيحًا عاديًا، بأي تركيبة تشاء.
ماذا لو أعطى الطرح صفرًا أو نتيجة سالبة؟ لا تملك الأرقام الرومانية أي تمثيل للصفر أو للأعداد السالبة، لذا تعرض الحاسبة ملاحظة توضيحية بدلًا من رقم روماني.
كيف تُعالَج القسمة؟ الناتج هو خارج القسمة الصحيح (يُذكر الباقي إن وُجد ثم يُهمَل) لأن الأرقام الرومانية لا تعرف الكسور.