Простые делители ( I уровень) |
Условие :Найти все простые делители натурального числа n. Решение: Идея решения. Напрашивается очевидное решение: найти все делители (см.задачу 4) и выбрать из них простые числа (как?). Однако красивее поступить иначе. Делим число n на 2, пока делится нацело, если разделилось хоть раз- число 2 - делитель (простой!), а n присваиваем результат деления. Увеличиваем делитель на 1 и начинаем сначала.. Так поступаем до тех пор, пока число не станет равным 1. var readln(n); write('Делители числа ',n,' : '); i:=2; while n<>1 do begin if n mod i = 0 then begin write(i,' '); repeat n:=n div i until n mod i <> 0; end; inc(i); end; end. |