Alphametics

Alphametics

متوسط

التعليمات

إذا كان لديك أحجية ألفاميتيك، فابحث عن الحل الصحيح.

الألفاميتيك هو أحجية تُستبدل فيها حروف الكلمات بأرقام.

على سبيل المثال SEND + MORE = MONEY:

  S E N D
  M O R E +
-----------
M O N E Y

عند استبدالها بأرقام صالحة نحصل على:

  9 5 6 7
  1 0 8 5 +
-----------
1 0 6 5 2

هذا صحيح لأن كل حرف يُستبدل برقم مختلف، وبعد تحويل الكلمات إلى أرقام فإنها تشكّل مجموعًا صالحًا.

يجب أن يمثّل كل حرف رقمًا مختلفًا، ويجب ألا يكون الرقم الأول في عدد مكوّن من عدة أرقام صفرًا.

تلميحات

يمكنك حل هذا التمرين بخوارزمية القوة الغاشمة، لكن أداءها في وقت التشغيل قد يكون ضعيفًا. جرّب أن تجد حلًا أكثر تطورًا. تلميح: يمكنك تجربة خوارزمية الجمع العمودي التي تُدرَّس عادةً في المدرسة الثانوية.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Haskell Exercism

مستعد لبدء Alphametics؟

سجّل في Exercism لتتعلّم وتتقن Haskell عبر 107 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.