Присоединиться

11 класс·средний уровень

Найдите все натуральные числа, принадлежащие отрезку [289123456

Условие

Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Например, у числа 6 есть два нетривиальных делителя: 2 и 3. Найдите все натуральные числа, принадлежащие отрезку [289123456; 389123456] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе его наибольший нетривиальный делитель. Ответы расположите в порядке возрастания.

Например, в диапазоне [5; 16] ровно три различных натуральных делителя имеет число 16, поэтому для этого диапазона вывод на экране должна содержать следующие значения:16 8Ответ:

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Если решать задачу перебором — программа будет существенно неэффективна по времени. Заметим, что у каждого делителя числа имеется пара, например, пары делителей числа 16 будут выглядеть так: 1 и 16, 2 и 8, 4 и 4, всего пять различных делителей. Отсюда можно заключить, что имеет смысл перебирать возможные делители числа от единицы до корня от самого числа и, находя очередной делитель, прибавлять к переменной numDel

Осталось ещё 7 шагов

  1. Также заметим, что поскольку число должно…

  2. then begin if (maxDel =…

  3. then maxDel := i div j; if (j <>…

  4. do begin while (i mod del <>…

  5. do begin del := del + 1; if (i <…

  6. or (del = i) then control := True else…

  7. Приведём решение Бориса Савельева на языке…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка целочисленной информации»

Найдите все натуральные числа, принадлежащие отрезку [289123456 — решение с объяснением | Lom Ai