Проходим по информатике тему "предоставление чисел по степеням его основания". может кто расписать данные примеры? сколько единиц в а)4^2015+2^2015-15 б)8^2014-2^614+45 в)8^1014-2^530-12 г)8^1023+2^1024-3 д)4^2016+2^2018-6 е)4^2014+2^2015-9
Если использовать коды длины N, то должно существовать не менее 16 различных строчек из символов 0 и 1, таких, что в каждой такой строчке будет чётное число единиц (это очевидно, конечно: если таких строчек будет меньше 16, то кодов попросту не хватит).
3 не подходит: даже без ограничений на количество единиц число строчек 2^3 = 8, что меньше 16.
4 тоже не подходит: без ограничений на количество единиц число строчек 2^4 = 16, но как минимум одна не подходит (например, 0001 - не удовлетворяет требованиям). Хороших строчек остается не больше 15, что меньше 16. (На самом деле, хороших строчек длины 4 всего 8).
Пробуем 5. Если придумаем как закодировать 16 символов - победа. А закодировать можно вот как: первые 4 символа - двоичная запись номера символа (нумеруем начиная с нуля, например 5-й символ - 0101), а последний символ - 0, если число единиц среди первых четырёх символов чётно и 1 - если нечётно. Тогда в любом случае получится чётное количество единиц.
1) var a, b: real; begin readln(a, b); if (a > b) then writeln(a) else if (a < b) then writeln(b) else writeln('a = b'); end.
2) var a, b, c: integer; begin readln(a); b := a mod 100 div 10; c := a mod 10; a := a div 100; write('a) '); if (a > c) then writeln(a) else if (a < c) then writeln(c) else writeln('='); write('b) '); if (a > b) then writeln(a) else if (a < b) then writeln(b) else writeln('='); write('c) '); if (c > b) then writeln(c) else if (c < b) then writeln(b) else writeln('='); end.
2^2015 = 1000...000 (всего нулей 2015)
теперь представить эти числа, как 1000...1000...000, следовательно
s - 15 = s - 1111, где 15 = 1111
допустим,
10...000000-111=1...111001, следовательно
2015 - 2 = 2013 единиц. и плюс ещё одна ведущая слева. Итого: 2014.
б) 8 = 2^3
8^2014 = 2^6042
45 = 101101
10...0000000-101101=1...11010011
итого: 614 - 3(кол. нулей) + 1(ведущая слева) = 612.
надеюсь, все понятно. дальше сможете сами. если будут вопросы, задавайте.