Var a, b, i, j: longint; ar: array of boolean; begin readln(a, b); setlength(ar, b); for i := 1 to b do ar[i - 1] := true; i := 2; while (sqr(i) <= b) do begin if(ar[i - 1] = true) then begin j := sqr(i); while (j <= b) do begin ar[j - 1] := false; j := j + i; end; end; i := i + 1; end; for i := a to b do if(ar[i - 1] = true) then write(i, ' '); end.
Всего - 6,5 часов Ожидание 2 часа, осталось 4,5 часов Активен 1 заражённый 1 шаг: Послано на 15, заражено 15*0.2+1=4(3 в ожидании на 2 часа), осталось 3,5 часов 2 шаг Послано на 15, заражено 15*0.2+4=7(3 в ожидании на 1 час, 3 в ожидании на 2 часа), осталось 2,5 часов Активны 4 заражённых 3 шаг Послано на 15*4=60, заражено 60*0.2+7=19(12 в ожидании на 2 часа, 3 в ожидании на 1 час), осталось 1,5 часов Активны 7 заражённых 4 шаг Послано на 15*7=105, заражено 105*0.2+19=40, осталось 0.5 часов За пол часа рассылок не произойдёт. ответ: 40
var a: array[1..100, 1..100] of real; max, min: real; sum, product: real; i, j, m, n, k: integer;
begin {ввод матрицы} if handsfree then begin n := random(20) + 2; m := random(20) + 2; end else begin write('n, m ='); readln(n, m); end;
writeln('Данные матрицы:'); for i := 1 to m do begin for j := 1 to n do if handsfree then begin a[i, j] := random(100) - 50; write(a[i, j]:4, ' ') end else read(a[i, j]); writeln; end;
{минимумы и максимумы} max := a[1, 1]; min := a[1, 1]; for i := 1 to m do for j := 1 to n do begin if max < a[i, j] then max := a[i, j]; if min > a[i, j] then min := a[i, j]; end; writeln('max = ', max); writeln('min = ', min);
{сумма, произведение, пр. агригаты} sum := 0; product := 1; for i := 1 to m do for j := 1 to n do if a[i, j] <> 0 then {если нужен фильтр} begin sum := sum + a[i, j]; product := product * a[i, j]; k := k + 1; end; writeln('sum = ', sum); writeln('product = ', product); writeln('average = ', sum / (n * m)); writeln('average (selected) = ', sum / k); end.
a, b, i, j: longint;
ar: array of boolean;
begin
readln(a, b);
setlength(ar, b);
for i := 1 to b do ar[i - 1] := true;
i := 2;
while (sqr(i) <= b) do
begin
if(ar[i - 1] = true) then
begin
j := sqr(i);
while (j <= b) do
begin
ar[j - 1] := false;
j := j + i;
end;
end;
i := i + 1;
end;
for i := a to b do
if(ar[i - 1] = true) then write(i, ' ');
end.