Var
Z: array [1..10] of integer;
i: byte;
MaxOddId, MaxEvenId: integer;
begin
randomize;
writeln(' * * * Исходный массив * * *');
for i := 1 to 10 do
begin
Z[i] := random(50)-20;
MaxOddId := Z[1];
MaxEvenId := Z[2];
write(Z[i], ' ');
end;
for i := 1 to 10 do
begin
if i mod 2 = 0 then if Z[i] > MaxEvenId then MaxEvenId := Z[i];
if i mod 2 <> 0 then if Z[i] > MaxOddId then MaxOddId := Z[i];
end;
writeln(#13+'Максимальный элемент на четных ячейках = ', MaxEvenId);
writeln('Максимальный элемент на нечетных ячейках = ', MaxOddId);
end.
Ответ:
procedure recursiveprime(num:integer);
var
i:integer;
begin
{тупая проверка *числа* на простоту - пытаемся поделить на все числа от 2 до *числа*/2)
i:=2;
while i<(num div 2) and (num mod i <> 0) do inc(i)
if i=num div 2 then println(num,"- простое!');
if num<60 then recursiveprime(num+1);
end;
begin
recursiveprime(4);
end.
Объяснение:
ну как-то так.. паскаля под рукой нет, лет 7 назад последний раз трогал дельфи
рекурсивная процедура которая вызывает саму себя со следующим числом если переданое ему число меньше 60
проверка на простоту - пытаемся поделить на все числа от 2 до половины проверяемого числа и проверяем остатки.
надеюсь мысль понятна
1 720 Кбайт
2 720 Кбайт
3 1 Кбайт
4 если б байты то 40 если б это биты то 5 (я просто не понял что значит б)
Byte, Short, Integer, Long, Single, Double
VAR
x, y, xmin, xmax, dx : Real;
BEGIN
Writeln('Табулирование функции.');
xmin := -3; xmax := 2; dx := 0.5; x := xmin;
WHILE x<=xmax DO
begin
y := abs(2-sqr(x))+1;
Writeln(x:6:3, y:6:3);
x := x+dx;
end {while};
Readln
END.