Получение простых чисел — различия между версиями
Материал из ALL
Строка 8: | Строка 8: | ||
'''k''' — количество простых чисел, не превышающих '''n'''; | '''k''' — количество простых чисел, не превышающих '''n'''; | ||
+ | |||
+ | '''b<sub>i</sub>''' — признак '''i'''-числа, который равен 1 если '''i'''-число простое, иначе - 0; | ||
'''p<sub>i</sub>''' — '''i'''-ое простое число. | '''p<sub>i</sub>''' — '''i'''-ое простое число. | ||
Строка 16: | Строка 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>}'''. |
=== Алгоритм 2 === | === Алгоритм 2 === | ||
Входные данные: '''n'''. | Входные данные: '''n'''. | ||
Строка 22: | Строка 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:47, 2 февраля 2016
Получение простых чисел – это алгоритм, дающий набор простых чисел, не превышающих заданное.
Простые числа — это натуральные числа, которые делятся только на само себя и на единицу.
Содержание
Обозначения
Введём обозначения:
n — натуральное число, n>2;
k — количество простых чисел, не превышающих n;
bi — признак i-числа, который равен 1 если i-число простое, иначе - 0;
pi — i-ое простое число.
Алгоритмы получения простых чисел
Алгоритм 1
Входные данные: n.
Выходные данные: k; {p1, p2, …, pk}.
Алгоритм 2
Входные данные: n.
Выходные данные: k; {p1, p2, …, pk}; {b1, b2, …, bn}.
- Заметим, что данные алгоритмы похожы на алгоритм оптимизированное Решето Эратосфена из Википедии.
Другие алгоритмы:
- наибольший общий делитель;
- наименьшее общее кратное;
- проверка кратности;
- деление по модулю;
- получение простых чисел;
- разложение на множители;
- система счисления;
- метод математической индукции;
- схема примитивной рекурсии;
- машина Поста;
- машина Тьюринга;
- составление перестановок;
- составление сочетаний;
- составление размещений;
- составление разбиений;
- сортировка;
- алгоритм определения мест.