Предмет: Информатика, автор: geka24122006

БУДЬ ЛАСКА ДОПОМОЖІТЬ Паскаль: вывести все счастливые числа с промежутка от а до б(а и б нужно вводить в программе)
Ось українською: вивести усі щасливі числа на проміжку від а до б

Ответы

Автор ответа: mirageKZ
1

Удачи в сдаче! Только разберись в коде обязательно

var

 m : array of integer;

 a, b, i, j : integer;

 

 procedure DelEl(ind:integer);

 var

   t:integer;

 begin

   for t := ind to length(m)-2 do

     m[t]:=m[t+1];

   setlength(m, length(m)-1);

  end;

 

 procedure ClearZ;

 var

   c:integer;

 begin

   c:=0;

   while c < length(m) do

     if m[c]=0 then

       DelEl(c)

     else

       inc(c)  

 end;

 

 procedure RemElem(p:integer);

 var

   step:integer;

 begin

   step:=m[p];

   j:=step-1;

   while j < length(m) do begin

     m[j]:=0;

     j:=j+step;

   end;  

 end;

 

begin

 write('Введите a :');

 readln(a);

 write('Введите b :');

 readln(b);

 

 (*заполним массив натуральными числами в диапазоне*)

 SetLength(m, b);

 for i := 1 to b do

   m[i-1]:=i;

 

 (*исключим все чётные числа*)

 RemElem(1);

 ClearZ;

   

 (*проходим решетом по массиву*)  

 i:=1;  

 while i<length(m) do begin

   RemElem(i);

   ClearZ;

   inc(i);

 end;

 

 (*печатаем счастливые числа в диапазоне*)

 for i:= 0 to length(m)-1 do

   if m[i]>=a then

     write(m[i], ' ');

end.

Похожие вопросы
Предмет: Английский язык, автор: Ainur120787