Помощь - Поиск - Пользователи - Календарь
Полная версия: Составьте прогрессию
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
agressor
Составьте прогрессию которая из К введённых чисел (К<=13) выведет на экран только числа не явл. простыми.
volvo
Код

{ Эта функция проверяет, является ли число простым }
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
а можно попроще для начинающих?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.