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

Рудиковичный Рудиковичный    1   10.03.2019 01:30    0

Ответы
nkochneva1 nkochneva1  24.05.2020 13:15

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.

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

 

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

 

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика