Найдите все натуральные числа, принадлежащие отрезку [45 000 000; 50
Условие
Найдите все натуральные числа, принадлежащие отрезку [45 000 000; 50 000 000], у которых ровно пять различных нечётных делителей (количество чётных делителей может быть любым). В ответе перечислите найденные числа в порядке возрастания.
Ответ:
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Решим задачу перебором. Находя очередной делитель числа, будем проверять, является ли этот делитель нечётным, и, если является, будем прибавлять к переменной count единицу. Также заметим, что у каждого делителя числа есть парный делитель — если он нечётный, будем прибавлять к переменой count единицу. Также учтём то, что у числа может быть 2 одинаковых делителя (например, у числа 9 два одинаковых делителя — числа 3 и 3). Приведём решение на языке Pascal. var count, i, j, k, sqrtI: longint;begin for i := 45000000 to 50000000 do begin count := 0; sqrtI := round(sqrt(i)); for j := 1 to sqrtI do begin if i mod j = 0 then begin if j mod 2 = 1 then count := count + 1; k := i div j; if k mod 2 = 1 then begin count:=count + 1; if j = k then count:=count - 1; end; end; if count > 5 then break; end; if count = 5 then writeln(i); end;end. В результате работы программа должна вывести следующее:45212176452659844745832148469444Примечание.
Другой способ решения, требующий меньше времени для работы программы, приведен в задаче
Осталось ещё 1 шаг
Приведём решение Владимира Столярова на языке…
Бесплатно · займёт минуту