C# Basics May Homework 5 - Bits Killer (Problem 17)
Здравейте,
Опитах да реша последната задача от 5-тото домашно; това е реално задача 5 от C# Basics Practical Exam (14 April 2014 Morning).
Имам време да я мъча, но ми е интересно какво точно не е наред с решението, което опитах днес.
Стори ми се сложно да решавам задачата с битови операции и реших да позлвам string.
Какво реално правя: 1) вземам числата, които подава системата; 2) обръщам ги в двоична система и добавям нули отляво, за да направя дължината на стринга 8; 3) добавям всяко така стрингосано число към един голям стринг, накрая този стринг ще съдържа всички входни байтове в двоична система и най-много ще има 800 символа (до 100 байта по 8 цифри); 4) минавам през всеки елемент от стринга и го добавям към нов стринг (резултатът), като просто пропускам тези символи/битове, които трябва да "убием"; 5) ако дължината на новия стринг не се дели на 8, добавям необходимия брой нули отдясно; 6) разделям стринга на части с дължина 8 символа, обръщам ги в числа и ги печатам на конзолата.
Алгоритъмът работи с дадените в задачата примери, но в Judge ми дава 3 грешни отговора (81/100) и зациклих в опитите си да разбера къде точно бъркам. Нужна ми е друга гледна точка; ще съм благодарен ако може да помогнете.
Мерси много! Не знаех, че в тия папки ги има всички тестове; мислех, че са само условия и авторски решения. Обикновено сам се досещах къде греша, но в случаите, когато не можех, се ядосвах, че не мога да проверя точно в какви случаи се дъни кодът ми. Вече знам какво да правя в такива случаи.
В конкретния случай, оказа се, че програмата ми не работи добре, когато стъпката е 1. С няколко добавени реда вече всичко е ОК и трите грешни отговора са коригирани.
P.S. А защо не мога да заключа темата? Предполагам като автор би трябвало да мога.
Фил, теми се заключват само от модератори. Иначе е много приятно да можеш да си провериш тестовете, за жалост на изпита няма да имаш тази възможност. С още няколко (десетки задачи) ще свикнеш да се сещаш за граничните условия и без тях. :) Яко четене и "копане" му е майката. :)