إذا كان لديك أحجية ألفاميتيك، فابحث عن الحل الصحيح.
الألفاميتيك هو أحجية تُستبدل فيها حروف الكلمات بأرقام.
على سبيل المثال 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
هذا صحيح لأن كل حرف يُستبدل برقم مختلف، وبعد تحويل الكلمات إلى أرقام فإنها تشكّل مجموعًا صالحًا.
يجب أن يمثّل كل حرف رقمًا مختلفًا، ويجب ألا يكون الرقم الأول في عدد مكوّن من عدة أرقام صفرًا.
قد ترغب (أو قد لا ترغب!) في استدعاء الدالة permutations(a, t) من Combinatorics.jl في حلّك.
permutations(a ,t) بحرية لأنها موجودة بالفعل في فضاء الأسماء. ويمكنك رؤية الكود المصدري في التبويب المسمّى permutations.jl.include("permutations.jl") إلى أعلى ملف الحل لديك للوصول إلى نسخة من permutations(a, t) موجودة هناك.إذا استخدمت Combinatorics.jl v1.0.3 محليًا، فإن permutations(a, t) بطيئة جدًا في الاختبارات الكبيرة.
استخدم إما الملف المرفق permutations.jl، أو ارقِ إلى Combinatorics.jl v≥1.1.0، أو «اخفض» إلى v1.0.2.
سجّل في Exercism لتتعلّم وتتقن Julia عبر 35 مفهومًا128 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.