Hamming

Hamming

Легка

Вступ

Наше тіло складається з клітин, які містять ДНК. Ці клітини регулярно зношуються і потребують заміни, а заміна відбувається шляхом поділу на дочірні клітини. Насправді, у середньому людське тіло за життя зазнає близько 10 квадрильйонів поділів клітин!

Коли клітини діляться, їхня ДНК теж реплікується. Іноді під час цього процесу трапляються помилки, і окремі ділянки ДНК отримують неправильну інформацію. Якщо порівняти два ланцюги ДНК і порахувати відмінності між ними, можна побачити, скільки помилок сталося. Це називається «відстанню Геммінга».

Відстань Геммінга корисна в багатьох галузях науки, не лише в біології, тож із цим терміном варто ознайомитися :)

Вказівки

Обчисліть відстань Гаммінга між двома ланцюгами ДНК.

Ми читаємо ДНК за допомогою літер C, A, G і T. Два ланцюги можуть мати такий вигляд:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

У них 7 відмінностей, а отже, відстань Гаммінга дорівнює 7.

Примітки щодо реалізації

Відстань Гаммінга визначена лише для послідовностей однакової довжини, тому спроба обчислити її між послідовностями різної довжини не повинна працювати.

Примітка

У Smalltalk винятки - це екземпляри підкласів класу Exception. Хоча можна створити власні винятки для своєї предметної області, переглянувши цю ієрархію, можна вибрати щось доречне, щоб спростити своє рішення.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Pharo Exercism

Час розпочати Hamming?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Pharo, а також 50 вправ та справжнє наставництво від людей, і все це безкоштовно.