Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Составьте прогрессию

Автор: agressor 8.12.2004 3:41

Составьте прогрессию которая из К введённых чисел (К<=13) выведет на экран только числа не явл. простыми.

Автор: volvo 8.12.2004 3:46

Код

{ Эта функция проверяет, является ли число простым }
function isPrime(a: word): boolean;
var i: integer;
Begin
isPrime:=false;
if not odd(a) and (a<>2) then exit;
i:=3;
while i <= sqrt(a) do
  begin
    if a mod i = 0 then Exit;
    inc(i,2)
  end;
isPrime:=true
End;

var
 i, k: integer;
 a: array[1 .. 13] of integer;
begin
 readln(k);
 for i := 1 to k do
 begin
   write('a[', i, '] = '); readln(a[i])
 end;
 
 for i := 1 to k do
   if not isPrime(a[i]) then Write(a[i]:4);
end.

Автор: agressor 8.12.2004 3:52

а можно попроще для начинающих?