Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 5, а потом 8
var x, L, M: integer;
begin
readln(x);
L := 0;
M := 0;
while x>0 do
begin
M :=M+1;
if x mod 2 <> 0 then
L := L + 1;
x := x div 2;
end;
writeln(L)
writeln(M)
end.
2) !x * !y * z - тоже не проходит вторую
3) !x V !y V x - не проходит первую
4) x V !y V !z - подходит по всем трём строкам из таблицы истинности
для того чтобы понять как это делается нужно подставлять цифры из таблицы истинности в сами выражения и смотреть что в ответе получается.
разберу на примере последнего выражения:
0 V !1 V !1 = 0 V 0 V 0 = 0 - верно 0110 (V это логическое ИЛИ, оно равно 1 когда хотя бы один из элементов равняется 1)
1 V !1 V !1 = 1 V 0 V 0 = 1 - тоже верно согласно таблице
x y z f
1 1 1 1
0 V !0 V !1 = 0 V 1 V 0 = 1 - тоже верно 0011