Программа ** языке паскаль. Дано натуральное N . Определить, является ли оно простым.

0 голосов
44 просмотров

Программа на языке паскаль. Дано натуральное N . Определить, является ли оно простым.


Информатика (21 баллов) | 44 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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.

(53.1k баллов)
0 голосов

Хочу предупредить, что до настоящего времени эта задача для любого натурального N численно НЕ РЕШЕНА!!!. То есть, до сих пор не написана программа, которая, работая на самом мощном компьютере, могла бы определить простоту числа N за приемлемое время(не сотни и тысячи ЛЕТ, как сейчас). Конечно, эти N - ОЧЕНЬ большие. Если бы кто нибудь написал такую программу, то рухнула бы вся банковская система, и все отрасли, включая военные, так как везде применяются алгоритмы шифрования данных, основанные на простых числах и подобрать шифр можно было бы за приемлемое время. Вот такая история с этой ОЧЕНЬ СЛОЖНОЙ задачей.

 

Что касается "детского" варианта, наверное самый простой алгоритм - решето Эратосфена. Да, красивое(но ресурсное) решение может получиться с использованием рекурсии(не знаю, допускает ли рекурсию школьный Паскаль, но поинтересуйтесь, что это такое).

 

Текст программы приводить не буду, он, вероятно, опубликован в каждом втором букваре по программированию.