Hamming

Hamming

سهل

مقدمة

يتكوّن جسمك من خلايا تحتوي على DNA. تبلى هذه الخلايا بانتظام وتحتاج إلى استبدال، وهو ما تحققه بالانقسام إلى خلايا وليدة. في الواقع، يمرّ جسم الإنسان العادي بنحو 10 كوادريليون انقسام خلوي خلال حياته!

وعندما تنقسم الخلايا، يتضاعف الـ DNA فيها أيضًا. وأحيانًا تحدث أخطاء أثناء هذه العملية، فتُشفَّر قطع منفردة من الـ DNA بمعلومات غير صحيحة. وإذا قارنّا بين شريطين من الـ DNA وعددنا الفروق بينهما، أمكننا أن نرى كم من الأخطاء قد وقع. ويُعرف هذا باسم "Hamming distance".

إن مسافة "Hamming distance" مفيدة في مجالات علمية كثيرة، لا في علم الأحياء فحسب، لذا فهي عبارة جيدة أن تألفها :)

التعليمات

احسب مسافة هامينغ بين سلسلتَي DNA نصيتين.

نقرأ DNA باستخدام الحروف C وA وG وT. قد تبدو سلسلتان نصيتان هكذا:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

بينهما 7 اختلافات، ومن ثَمّ فإن مسافة هامينغ تساوي 7.

ملاحظات التنفيذ

لا تُعرَّف مسافة هامينغ إلا لسلاسل نصية متساوية الطول، لذا لا ينبغي أن تنجح محاولة حسابها بين سلسلتين نصيتين مختلفتين في الطول.

ملاحظات خاصة بالمسار

بالنسبة إلى Scheme، قد ترغب في الاطلاع على واحدة من error أو assert أو raise.

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

مستعد لبدء Hamming؟

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