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 :)