Наше тіло складається з клітин, які містять ДНК. Ці клітини регулярно зношуються і потребують заміни, а заміна відбувається шляхом поділу на дочірні клітини. Насправді, у середньому людське тіло за життя зазнає близько 10 квадрильйонів поділів клітин!
Коли клітини діляться, їхня ДНК теж реплікується. Іноді під час цього процесу трапляються помилки, і окремі ділянки ДНК отримують неправильну інформацію. Якщо порівняти два ланцюги ДНК і порахувати відмінності між ними, можна побачити, скільки помилок сталося. Це називається «відстанню Геммінга».
Відстань Геммінга корисна в багатьох галузях науки, не лише в біології, тож із цим терміном варто ознайомитися :)
Обчисліть відстань Гаммінга між двома ланцюгами ДНК.
Ми читаємо ДНК за допомогою літер C, A, G і T. Два ланцюги можуть мати такий вигляд:
GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^ ^ ^ ^^
У них 7 відмінностей, а отже, відстань Гаммінга дорівнює 7.
Відстань Гаммінга визначена лише для послідовностей однакової довжини, тому спроба обчислити її між послідовностями різної довжини не повинна працювати.
| Регістр | Використання | Тип | Опис |
|---|---|---|---|
$a0 |
вхідні дані | адреса | перший рядок тексту (англ. string), завершений нульовим символом |
$a1 |
вхідні дані | адреса | другий рядок тексту, завершений нульовим символом |
$v0 |
вихідні дані | ціле число | відстань Геммінга |
$t0-9 |
тимчасовий | будь-який | для тимчасового зберігання |
Зареєструйтеся на Exercism, щоб вивчати й опановувати MIPS Assembly, а також 70 вправ та справжнє наставництво від людей, і все це безкоштовно.