Получение простых чисел — различия между версиями
Материал из ALL
Строка 18: | Строка 18: | ||
[[файл:ППЧ01.JPG]] | [[файл:ППЧ01.JPG]] | ||
− | Выходные данные: '''k; {p<sub>1</sub>, p<sub>2</sub>, …, p<sub>k</sub>}'''. | + | Выходные данные: '''k; {p<sub>1</sub>, p<sub>2</sub>, …, p<sub>k</sub>}; {b<sub>1</sub>, b<sub>2</sub>, …, b<sub>n</sub>}'''. |
=== Алгоритм 2 === | === Алгоритм 2 === | ||
Входные данные: '''n'''. | Входные данные: '''n'''. | ||
Строка 24: | Строка 24: | ||
[[файл:ППЧ02.JPG]] | [[файл:ППЧ02.JPG]] | ||
− | Выходные данные: '''k; {p<sub>1</sub>, p<sub>2</sub>, …, p<sub>k</sub>} | + | Выходные данные: '''k; {p<sub>1</sub>, p<sub>2</sub>, …, p<sub>k</sub>}; {b<sub>1</sub>, b<sub>2</sub>, …, b<sub>n</sub>}'''. |
* Заметим, что данные алгоритмы похожы на алгоритм '''оптимизированное Решето Эратосфена''' из Википедии. | * Заметим, что данные алгоритмы похожы на алгоритм '''оптимизированное Решето Эратосфена''' из Википедии. | ||
== Другие алгоритмы: == | == Другие алгоритмы: == |
Версия 06:48, 2 февраля 2016
Получение простых чисел – это алгоритм, дающий набор простых чисел, не превышающих заданное.
Простые числа — это натуральные числа, которые делятся только на само себя и на единицу.
Содержание
Обозначения
Введём обозначения:
n — натуральное число, n>2;
k — количество простых чисел, не превышающих n;
bi — признак i-числа, который равен 1 если i-число простое, иначе - 0;
pi — i-ое простое число.
Алгоритмы получения простых чисел
Алгоритм 1
Входные данные: n.
Выходные данные: k; {p1, p2, …, pk}; {b1, b2, …, bn}.
Алгоритм 2
Входные данные: n.
Выходные данные: k; {p1, p2, …, pk}; {b1, b2, …, bn}.
- Заметим, что данные алгоритмы похожы на алгоритм оптимизированное Решето Эратосфена из Википедии.
Другие алгоритмы:
- наибольший общий делитель;
- наименьшее общее кратное;
- проверка кратности;
- деление по модулю;
- получение простых чисел;
- разложение на множители;
- система счисления;
- метод математической индукции;
- схема примитивной рекурсии;
- машина Поста;
- машина Тьюринга;
- составление перестановок;
- составление сочетаний;
- составление размещений;
- составление разбиений;
- сортировка;
- алгоритм определения мест.