ОТДЕЛ Задание+;
ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\";
ПЕР
число, куб: ЦЕЛ;
УКАЗ
число := 1;
КОЛЬЦО
УВЕЛИЧИТЬ(число);
куб := число * число * число;
ПОКА куб > 10000 ВЫП
куб := куб ДЕЛИТЬ 10
КОН;
ЕСЛИ куб = 2016 ТО
Вывод.ЧЦел("%d", число, 0, 0, 0);
ВЫХОД
КОН
КОН
КОН Задание.
1 бит на 1 цифру числа + по 3 бита на все остальные,
итого 1+3*6=19 бит
Var s:string;k,i:integer;beginreadln (s);k:=0;for i:=1 to length(s) doif s[i]='d' then k:=k+1;writeln(k);end.
Функция будет ложна тогда, когда первая скобка истинна, а вторая ложна ( 1 --> 0 = 0 ). Из этого следует, что x не должно быть равно y, если x = 0, то y = 1 и наоборот. Построим таблицу истинности:
x y z w F
0 1 0 0 = 0
0 1 0 1 = 0
0 1 1 0 = 1
0 1 1 1 = 1
1 0 0 0 = 1
1 0 0 1 = 0
1 0 1 0 = 0
1 0 1 1 = 1
Подставив значения, отсеем лишние строки. Подходят 1, 2, 6 и 7 строки. Какая-то переменная должна быть ложна все три раза. Видим, что это строчки 1, 3 и 6, поскольку z ложна трижды. Методом анализа и перебора строк, установим, что порядок таков: zwyx