1:
var N,k,s:integer;
BEGIN
s:=0;
readln(N,k);
N:=abs(N);
while N>0 do begin
if (N mod 10=k) then
s:=s+1;
N:=N div 10;
end;
writeln(s);
end.
2:
var N:integer;
s:string;
BEGIN
readln(N);
s:=IntToStr(N);
if (s[1]=s[Length(s)]) then
writeln('ДА') else
writeln('НЕТ');
end.
3:
var N,p,s,k:integer;
BEGIN
readln(N);
p:=1;
s:=0;
k:=0;
while N>0 do begin
p:=p*(N mod 10);
s:=s+(N mod 10);
k:=k+1;
N:=N div 10;
end;
writeln('Количество цифр = ',k);
writeln('Сумма цифр = ',s);
writeln('Произведение цифр = ',p);
end.
Всего пять переменных, каждая из которых может принимать значения 0 или 1. Следовательно кол-во возможных комбинаций или строчек равно 2^5=32
10 строчек имеют одинаковое значение (0;0 или 1;1), которые делают значение импликации равным 1 (См. Табличку на фото).
Всего строчек 32. Строчек, где значение импликации равно 1 - 10. Следовательно у нас осталось 32-10=22 строчки. В них возможно получение значение импликации равное нулю, поэтому максимальное кол-во нулей в столбце значений таблицы истинности выражения A → B равно 22
P.S. Я знаю, что ты это посмотришь, Сережа, поэтому скажи что по матеше задали
for i in range(2,7,2): # цикл будет идти от 2 до 7 с шагом 2( перескакивая два значения)
1: итерац i = 2
2: итерац i = 4
3: итерац i = 6
т.к цикл до семи, а у нас шаг два, то 8 не попадает уже, значит конец цикла.