Программа на языке паскаль. Дано натуральное N . Определить, является ли оно простым.
5-9 класс
|
Хочу предупредить, что до настоящего времени эта задача для любого натурального 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.
Другие вопросы из категории
Читайте также
Определить оканчивается ли оно цифрой 7.
вычисления: а) y=x^10 б) y=x^15. Постараться использовать минимальное количество дополнительных переменных. 2) Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей. Программу записать на языке Паскаль. 3) Дана величина А, выражающая объём информации в байтах. Перевести А в более крупные единицы измерения информации. Программу записать на языке Паскаль