|
|
back to boardHow I solved it. I have used bitmasks. There are only 16 possible Hamming codes. So, I have precalculated. Then check, whether input is a valid code. Then try to find such valid code that it differs from input in exactly one position (I have used xoring for that) and print that codr. Don't forget about zero code. That is a special case. Re: How I solved it. Можно ведь и проще гораздо) Составить три булевых функции (они вполне конкретно прописаны в условии), принимать за ошибку по очереди каждую цифру и смотреть, какие из функций при этом должны вернуть истину, а какие ложь. Остаётся прописать 8 if, один из них будет на код без ошибок, остальные - на соответствующую ошибку. Остаётся её исправить и вывести ответ) |
|
|