Задача. В промежутке от 1 до 100 найти числа с 6 делителями.
Воспользуемся конструкцией вложенных циклов
for k:=1 to 100 do
begin
for j:=1 to k do
begin
if k mod j = 0 then...
end;
end;
Где k - это число от 1 до 100, j - предполагаемый делитель числа k.
Если число k делится на j без остатка, то будем копить количество делителей s. Если количество делителей для данного числа k равно 6, то число k выводим на экран, для каждого числа k количество делителей s обнуляем во внешнем цикле.
Программа решения задачи на языке Паскаль
var k,s,j:integer;
begin
for k:=1 to 100 do
begin
s:=0;
for j:=1 to k do
if k mod j=0 then s:=s+1;
if s=6 then write(k,' ');
end;
end.
Результат запуска программы
А что, если в заданном промежутке нужно найти числа ровно с 1000 делителями?
Напишите свои предположения в комментариях.
Комментариев нет:
Отправить комментарий