Тогда выражение будет иметь вид (a + b) → b и нужно найти условия, когда оно ложно. Вместо этого, мы будем искать, когда отрицание этого условия истинно, т.е. истинность ¬( (a + b) → b)
Для начала избавимся от импликации
¬( ¬(a + b) + b)
А теперь примерим к внешнему отрицанию закон де-Моргана
// с циклом while var s,i:integer; begin i:=100; while i<=999 do begin if i mod 77 = 0 then s:=s+i; i:=i+1; end; writeln('Сумма трехзначных кратных 77: ',s); end.
1, 2, 3, 4
Объяснение:
Введем обозначения:
a = X > 0, b = X > 4
Тогда выражение будет иметь вид (a + b) → b и нужно найти условия, когда оно ложно. Вместо этого, мы будем искать, когда отрицание этого условия истинно, т.е. истинность ¬( (a + b) → b)
Для начала избавимся от импликации
¬( ¬(a + b) + b)
А теперь примерим к внешнему отрицанию закон де-Моргана
(a + b) · ¬b
Раскрываем скобки
a · ¬b + b · ¬b
a · ¬b + 0
a · ¬b
Делаем обратную замену
( X > 0) · ¬(X > 4)
( X > 0) · (X ≤ 4)
Переведем это на более понятный язык:
X > 0 И X ≤ 4, или
0 < X ≤ 4
Из целых чисел сюда подойдут 1, 2, 3, 4.
//c циклом for
var s,i:integer;
begin
for i:=100 to 999 do
if i mod 77 = 0 then s:=s+i;
writeln('Сумма трехзначных кратных 77: ',s);
end.
Тестовое решение:
Сумма трехзначных кратных 77: 5929
// с циклом while
var s,i:integer;
begin
i:=100;
while i<=999 do begin
if i mod 77 = 0 then s:=s+i;
i:=i+1;
end;
writeln('Сумма трехзначных кратных 77: ',s);
end.