Var
a,i,k:integer;
begin
readln(a);
while a<>0 do begin
if a mod 2=0 then
k:=k+1;
a:=a div 2;
end;
writeln(k);
<span>end.</span>
Данное уравнение можно разбить на три строки (на фото красным цветом)
1) первая скобка(то есть содержимое до знака логического сложения V) и вторая скобка истинны
2) первая скобка истинна, вторая ложна
3) первая-ложь, вторая истинна
Далее составляем таблицу для четырех переменных (2^4=16 строк)
Выбираем в столбцах со стрелками ИСТИНА-ИСТИНА (то есть 1 - 1) Делаем вывод для первой строки нет решений
Для второй строки (1-0) получаем два решения Отмечены знаком "плюс"
Для третьей строки (0-1) также два решения Итого 4 решения
1) 8гб это 8192 мб следовательно 8192:12= 682 фотографии
2)16384:320=48 клипов
3)5*30*70=10500 байт
4)256= 2^i=2^8следовательно i=8 битов
8*80*32=20480 битов
20480*2=40960 битов=5120 байт=5 килобайт
i - кол-во информации
^ - степень
Решение задачи будет гораздо проще, если заметить, что остаток от деления шестнадцатеричного числа на 5 совпадает с остатком от деления на 5 его суммы цифр.
Действительно, доказываем по индукции:
- Для числа из одной цифры это тривиально: число из одной цифры совпадает со своей суммой цифр.
- Переход: пусть число из k цифр ...xyz дает такой же остаток при делении на 5, что и сумма цифр ... + x + y + z. Покажем, что число из (k + 1) цифры ...xyzt дает такой же остаток, что и сумма цифр ... + x + y + z + t: ...xyzt = 16 * ...xyz + t = 15 * ...xyz + (...xyz + t). Первое слагаемое делится на 5, второе по предположению дает такой же остаток, что и (... + x + y + z) + t, что и требовалось.
У любой перестановки сумма цифр такая же, так что и остатки от деления на 5 совпадают. Так что осталось найти сумму цифр исходного числа и найти остаток от деления её на 5, это и будет ответом.
Python 3:
digits = "0123456789abcdef"
n = input()
s = sum(digits.index(digit) for digit in n)
print(s % 5)
1) 1.Y 2.X 3.X 4.W
2) a - не верно, б - верно
3) В троичной системе счисления (2001₃ = 55)