begin i:=100; repeat s1:=(i div 100)+((i mod 100) div 10)+(i mod 10); s2:=i div 20; s2:=(s2 div 10)+(s2 mod 10); if s1=s2 then Writeln(i); i:=i+20; until i>999 end.
Результат выполнения программы: 180 360 540 720 900
Program chik; var i,a,b,c:integer; begin for i:=100 to 999 do begin a:=i div 100; b:=(i div 10)mod 10; c:=i mod 10; if(i mod 20=0)and(a+b+c=i div 20)then writeln(i); end; end. ответ 180 т.к 180 делится на 20 сумма цыфр 180 равно 1+8+0=9 180/20=9 9=9
Предположим, что иллюминатор - это круглое отверстие диаметром d, а сундук для простоты опишем параллелепипедом с ребрами a, b, c. Очевидно, что сундук пройдет в иллюминатор, если прямогольник, образованный двумя его меньшими ребрами, будет вписан в окружность иллюминатора, т.е. диагональ этого прямоугольника будет меньше диаметра иллюминатора. Задача из трехмерной сводится к двухмерной, т.е. решается в плоскости, для чего нужно отбросить из рассмотрения ребро максимальной длины, т.е. из множества ребер {a,b,c} мы исключаем ребро, длина которого равна max(a,b,c). Пусть это будет ребро с, тогда рассматриваем ребра a и b. Диагональ прямоугольника можно найти по теореме Пифагора и она равна √(a²+b²). Но можно (и рациональнее), не извлекать квадратный корень, а сравнить квадрат диагонали с квадратом диаметра, т.е. условием извлечения сундука будет a²+b² < d² Наша математическая может может быть описана логической функцией F, которая принимает значение "истинно", если сундук может быть извлечен, и ложно в противном случае.
Var i, k, n, j, z, x:integer; b, c, d:array[1..10000] of integer; a, e:array[1..10000] of string; m:string; begin readln(n); for i:=1 to n do readln(a[i]); readln(b[i]); readln(c[i]); for i:=1 to n do for j:=1 to n do if b[i]<b[j] then begin m:=a[i]; a[i]:=a[j]; a[j]:=m; z:=b[i]; b[i]:=b[j]; b[j]:=z; x:=c[i]; c[i]:=c[j]; c[j]:=x; end; for i:=1 to n do writeln(a[i],' ',b[i],' ',c[i]); {это сортировка по тиражу} for i:=1 to n do begin e[i]:=copy(a[i], 1, 2); {тут расчет на то, что название начинается с заглавной буквы английского алфавита} val(e[i], d[i]); end; for i:=1 to n do for j:=1 to n do if d[i]<d[j] then begin m:=a[i]; a[i]:=a[j]; a[j]:=m; z:=b[i]; b[i]:=b[j]; b[j]:=z; x:=c[i]; c[i]:=c[j]; c[j]:=x; end; for i:=1 to n do writeln(a[i],' ',b[i],' ',c[i]); {сортировка по тиражу} readln; end.
i,s1,s2:integer;
begin
i:=100;
repeat
s1:=(i div 100)+((i mod 100) div 10)+(i mod 10);
s2:=i div 20;
s2:=(s2 div 10)+(s2 mod 10);
if s1=s2 then Writeln(i);
i:=i+20;
until i>999
end.
Результат выполнения программы:
180
360
540
720
900