Автор работы: Пользователь скрыл имя, 16 Декабря 2012 в 19:10, курсовая работа
Задать внешний цикл – перебор чисел от M (при условии, что M не равно 1) до N, в нем сделать проверку, является ли число (текущая переменная) простым, предположить, что оно простое и задать внутренний цикл от 2 до текущей переменной. Во внутреннем цикле задать первое условие – есть остаток от деления переменной внешнего цикла на переменную внутреннего, если нет, то выйти из цикла. Во внешнем цикле создать второе условие – изменилось ли наше предположение, если нет, то значит текущая переменная внешнего цикла – простое число.
1. Введение 4
2. Описание задачи 5
3. Применение 6
4. Алгоритм решета Эратосфена обычное и блочное 7
5. Нахождения простых чисел с использованием обычного метода и обычного решета Эратосфена 8
6. Заключение 10
7. Список использованной литературы 11
Министерство образования и науки Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра телевидения и управления (ТУ)
Поиск простых чисел
Выполнил:
Студент гр. 131-1
_________ К.О.Баранская
« » ______ _ 2011 г.
Руководитель:
Р.И. Аширбакиев
«___» ___________ 2011 г.
Томск 2011
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра телевидения и управления (ТУ)
УТВЕРЖДАЮ
Зав. Кафедрой ТУ
______________
«___» ___________ 2011 г.
ТЕМА №3
Поиск простых чисел
Содержание
1. Введение 4
2. Описание задачи 5
3. Применение 6
4. Алгоритм решета Эратосфена обычное и блочное 7
5. Нахождения простых чисел с использованием обычного метода и обычного решета Эратосфена 8
6. Заключение 10
7. Список использованной литературы 11
Простое число — это натуральное число, которое имеет ровно два различных натуральных делителя: единицу и самого себя. Все остальные числа, кроме единицы, называются составными.
Последовательность простых чисел начинается так:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, …
Дан натуральный ряд чисел от M до N. Нужно вывести на экран простые числа, находящиеся в данном промежутке.
Для этого нужно:
Задать внешний цикл – перебор чисел от M (при условии, что M не равно 1) до N, в нем сделать проверку, является ли число (текущая переменная) простым, предположить, что оно простое и задать внутренний цикл от 2 до текущей переменной. Во внутреннем цикле задать первое условие – есть остаток от деления переменной внешнего цикла на переменную внутреннего, если нет, то выйти из цикла. Во внешнем цикле создать второе условие – изменилось ли наше предположение, если нет, то значит текущая переменная внешнего цикла – простое число.
1. Криптография
- для систем шифрования с
2. Могут быть
использованы при построении
генераторов псевдослучайных
3. Могут являться
побочным продуктом при
Решето Эратосфена - это алгоритм, позволяющий найти все простые числа в отрезке за операций.
Алгоритм решета Эратосфена обычное:
Алгоритм решета Эратосфена блочное:
Обычный метод:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main ()
{
int M;
int N;
cin>>M;
cin>>N;
int i;
int j;
for (i=M; i<=N; i++)
{
int P = i;
bool prime = true;
for (int j = 2; j < P; j++)
{
if(P % j == 0)
{
prime = false;
break;
}
}
if (prime == true)
{
cout << P << " ";
}
}
system(" pause");
return 0;
}
Метод обычного решета Эратосфена:
#include <vector>
using namespace std;
int main ()
{
int n;
vector<char> prime (n+1, true);
prime[0] = prime[1] = false;
for (int i=2; i<=n; ++i)
if (prime[i])
for (int j=i*i; j<=n; j+=i)
prime[j] = false;
system(" pause");
return 0;
}
В данной курсовой работе были рассмотрены примеры нахождения простых чисел в языке программирования С++, был реализован обычный метод нахождения простых чисел и метод «Решето Эратосфена», который является наиболее быстрым способом.