1. Ввод с клавиатуры var p,i:integer; a:array [1..10] of integer;
begin p:=-1;
for i:=1 to 10 do begin readln (a [i]); end;
while p = -1 do begin for i:=1 to 10 do begin if (a [i] < 3) then p:=1; end; end;
for i:=1 to 10 do begin if (a [i] < 3) then p:=p*a [i]; end; writeln (p); end.
2.Рандом
var p,i:integer; a:array [1..10] of integer;
begin p:=-1;
for i:=1 to 10 do begin a [i]:=Random (10); end; write ('Наш массив: '); for i:=1 to 10 do begin write (a [i]); write (' '); end; writeln (' '); while p = -1 do begin for i:=1 to 10 do begin if (a [i] < 3) then p:=1; end; end;
for i:=1 to 10 do begin if (a [i] < 3) then p:=p*a [i]; end; writeln ('Произведение = ',p); end.
Четный - нацело делится на 2, кратный трем - нацело делится на 3. Самый простой алгоритм, который приходит в голову - дурацкий. Перебираем все числа и проверяем каждое, подходит ли оно. Гораздо проще взять первое подходящее число из заданного диапазона, а потом идти от него с шагом, равным 2 или 3 (смотря чему нужна кратность).
// PascalABC.NET 3.2, сборка 1341 от 20.11.2016 begin Range(30,48,2).Println; // 1-я задача Range(30,55,3).Println // 2-я задача end.
ответ: потому что на сокрытии информации не было статьи и запретов
объяснение: