C# Basics Exam (29-March-2015-Morning), Game of Bits
Условие на задачата (най-долу): тук
За следното решение, в което не съм ползвал побитови операции, ми се дават 87 точки: http://pastebin.com/TypLfTDn
Някой да има идея защо?
Благодаря
Условие на задачата (най-долу): тук
За следното решение, в което не съм ползвал побитови операции, ми се дават 87 точки: http://pastebin.com/TypLfTDn
Някой да има идея защо?
Благодаря
Това (на ред 44):
40.  static string ExtractEvenBits(uint number)
41.        {            
42.            if (number == 1)
43.            {
44.                return "1";
45.            }
Трябва да е така:
40.  static string ExtractEvenBits(uint number)
41.        {            
42.            if (number == 1)
43.            {
44.                return "0";
45.            }
Поздрави :)
Обяснението: Ако числото е 1 и трябва да екстрактнеш четните битове, то 1 е нечетен бит, защото това е първия бит, съответно няма да го взимаш, и фактически ще екстратнеш само нули, защото след 1-цата наляво има само нули, така числото, което ще получиш ще бъде 0. При ExtractOddBits правилно си го направил при number == 1 да връща 1 :)