Программа на языке паскаль. Дано натуральное N . Определить, является ли оно простым.
Программа на языке паскаль. Дано натуральное N . Определить, является ли оно простым.
Ответ(ы) на вопрос:
Хочу предупредить, что до настоящего времени эта задача для любого натурального N численно НЕ РЕШЕНА!!!. То есть, до сих пор не написана программа, которая, работая на самом мощном компьютере, могла бы определить простоту числа N за приемлемое время(не сотни и тысячи ЛЕТ, как сейчас). Конечно, эти N - ОЧЕНЬ большие. Если бы кто нибудь написал такую программу, то рухнула бы вся банковская система, и все отрасли, включая военные, так как везде применяются алгоритмы шифрования данных, основанные на простых числах и подобрать шифр можно было бы за приемлемое время. Вот такая история с этой ОЧЕНЬ СЛОЖНОЙ задачей. Что касается "детского" варианта, наверное самый простой алгоритм - решето Эратосфена. Да, красивое(но ресурсное) решение может получиться с использованием рекурсии(не знаю, допускает ли рекурсию школьный Паскаль, но поинтересуйтесь, что это такое). Текст программы приводить не буду, он, вероятно, опубликован в каждом втором букваре по программированию.
var n,i:integer; Begin read(n); for i := 2 to n-1 do if n mod i = 0 then begin writeln('Ne prostoe'); exit; end; end; writeln('Prostoe'); End.
Не нашли ответ?
Похожие вопросы