A tested sejtekből áll, amelyek DNS-t tartalmaznak. Ezek a sejtek rendszeresen elhasználódnak, és pótlásra szorulnak, amit úgy oldanak meg, hogy leánysejtekre osztódnak. Sőt, egy átlagos emberi szervezetben egy élet során körülbelül 10 billiárd sejtosztódás megy végbe!
Amikor a sejtek osztódnak, a bennük lévő DNS is megkettőződik. Néha ilyenkor hibák csúsznak be, és egy-egy DNS-darab hibás információval kódolódik. Ha összehasonlítunk két DNS-szálat, és megszámoljuk a köztük lévő eltéréseket, láthatjuk, hány hiba történt. Ezt nevezik „Hamming-távolságnak”.
A Hamming-távolság a tudomány számos területén hasznos, nem csak a biológiában, szóval jó, ha ismered ezt a kifejezést :)
Számítsd ki két DNS-szál Hamming-távolságát.
A DNS-t a C, A, G és T betűkkel olvassuk le. Két szál így nézhet ki:
GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^ ^ ^ ^^
7 különbség van köztük, ezért a Hamming-távolság 7.
A Hamming-távolság csak egyenlő hosszúságú sorozatokra értelmezett, ezért ha két különböző hosszúságú sorozat között próbáljuk kiszámítani, annak nem szabad működnie.
| Regiszter | Használat | Típus | Leírás |
|---|---|---|---|
$a0 |
bemenet | cím | első, null-terminált string |
$a1 |
bemenet | cím | második, null-terminált string |
$v0 |
kimenet | egész szám | Hamming-távolság |
$t0-9 |
ideiglenes | bármilyen | ideiglenes tároláshoz |
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) MIPS Assembly nyelvet 70 feladat segítségével, valódi emberi mentorálással, mindez ingyen.