Hamming

Hamming

آسان

مقدمه

بدن شما از سلول‌هایی تشکیل شده است که در خود DNA دارند. این سلول‌ها به‌طور منظم فرسوده می‌شوند و باید جایگزین شوند، و این کار را با تقسیم شدن به سلول‌های دختر انجام می‌دهند. در واقع، بدن یک انسان معمولی در طول عمرش حدود ۱۰ کوادریلیون تقسیم سلولی را تجربه می‌کند!

وقتی سلول‌ها تقسیم می‌شوند، DNA آن‌ها هم همانندسازی می‌کند. گاهی در این فرایند اشتباهاتی رخ می‌دهد و تکه‌های منفرد DNA با اطلاعات نادرست رمزگذاری می‌شوند. اگر دو رشته‌ی DNA را با هم مقایسه کنیم و تفاوت‌های میان‌شان را بشماریم، می‌توانیم ببینیم چند اشتباه رخ داده است. به این کار «فاصله‌ی همینگ» می‌گویند.

فاصله‌ی همینگ در بسیاری از حوزه‌های علوم، نه فقط زیست‌شناسی، کاربرد دارد؛ پس عبارت جالبی است که با آن آشنا باشید :)

دستورالعمل‌ها

فاصله‌ی همینگ میان دو رشته‌ی DNA را محاسبه کنید.

DNA را با حروف C، A، G و T می‌خوانیم. دو رشته ممکن است به این شکل باشند:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

این دو رشته ۷ تفاوت دارند و بنابراین فاصله‌ی همینگ برابر ۷ است.

نکته‌های پیاده‌سازی

فاصله‌ی همینگ فقط برای دنباله‌هایی با طول برابر تعریف می‌شود؛ پس تلاش برای محاسبه‌ی آن میان دنباله‌هایی با طول متفاوت نباید کار کند.

ثبات‌ها

ثبات کاربرد نوع توضیح
$a0 ورودی آدرس رشته‌ی اول که با null پایان می‌یابد
$a1 ورودی آدرس رشته‌ی دوم که با null پایان می‌یابد
$v0 خروجی عدد صحیح فاصله‌ی همینگ
$t0-9 موقت هر نوع برای ذخیره‌سازی موقت
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
MIPS Assembly Exercism

آماده‌اید Hamming را شروع کنید؟

در Exercism ثبت‌نام کنید تا MIPS Assembly را همراه با 70 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.