Паскаль: вывести все счастливые числа на промежутке от а до б (а и б нужно вводить). Сколько цифр в числе не указано.Пожалуйста, подскажите, от этого задания и оценки зависит годовой табель
Ось українською: вивести всі щасливі числа на проміжку від а до б
Ответы
Если будут вопросы - задавай.
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.