Var
a,b,c:integer;
x,y,z:string;
begin
writeln('Введите стороны треугольника');
readln(a,b,c);
x:='равнобедренный';
y:='равносторонний';
z:='разносторонний';
begin
if (c=b) and (a<>c) then
writeln('Треугольник',' ',x);
if (a=c) and (a<>b) then
writeln('Треугольник',' ',x);
if (a=b) and (a<>c) then
writeln('Треугольник',' ',x);
if (a=b) and (a=c) and (b=c) then
writeln('Треугольник',' ',y);
if (a<>b) and (a<>c) and (b<>c) then
writeln('Треугольник',' ',z);
end;
readln
<span>end.</span>
Смотри в одном мегабайте - 1048576 байтов,
Значит в 189 мегабайтах -198180864 байта
Импликацию часто по-другому называют "Следование".
Т.е. из выражения a следует выражение b.
Основные правила импликации, где 0 - ложь, 1 - истина.
Импликация ложна тогда и только тогда, когда из истины следует ложь.
А теперь так, как когда-то объясняли мне:
1) 1->1 = 1
Из истины следует истина. То есть из истинного факта (а) следует (или же мы делаем) справедливый истинный вывод(b). Все в порядке. Справедливо. Получаем 1 (истину) после операции импикации.
2) 0->1 = 1
Из неправильного высказывания (a) мы делаем правильный вывод(b). С этим тоже все в порядке, множество научных открытий делалось по принципу "из ошибочного суждения - верная теория". Бывает. Справедливо. Получаем истину.
3) 0->0 = 1
Из ложного высказывания (a) - ложные "выводы"(b) , тоже все в порядке. Логично, что из одной "лжи", у нас вторая "ложь". Справедливо. Получаем иситну.
4) 1->0 = 0
Из истинного высказывания (a) получаем ложное высказывание (b). Т.е. мы взяли и переврали истину непонятно как. Нехорошо и не справедливо. Получаем ложь:(
Если остались вопросы, или вообще никак не помогла - в комментарии:)
Второй сортировка я думаю что это правильно
{тоже как вариант}
const
v: array [0..9] of integer = (1,0,0,0,1,0,1,0,2,1);
var
x,n: integer;
begin
read(x);
n := 0;
repeat
n := n + v[x mod 10];
x := x div 10;
until x = 0;
write(n)
end.