Форум программистов, компьютерный форум CyberForum.ru

Определить количество простых чисел в интервале - C++

Восстановить пароль Регистрация
 
витя123
1 / 1 / 0
Регистрация: 06.09.2015
Сообщений: 77
07.09.2015, 14:20     Определить количество простых чисел в интервале #1
Определить количество простых чисел в интервале отN до M где N,M-натуальные числа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2015, 14:20     Определить количество простых чисел в интервале
Посмотрите здесь:

Выяснить сколько простых чисел находится в интервале C++
Подсчитать количество простых чисел в произвольном интервале C++
Определить количество простых чисел в матрице: подробно разобрать код C++
C++ Определить количество простых чисел в каждом массиве. Вычислить среднее арифметическое всех элементов массивов
C++ Определить сумму и количество простых чисел расположенных вне диагоналей матрицы
Функция по нахождению простых чисел на интервале C++
Определить максимальное количество простых чисел в двумерной матрице C++
Определить количество простых чисел, меньших N, используя решето Эратосфена C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
07.09.2015, 14:27     Определить количество простых чисел в интервале #2
Функция по нахождению простых чисел на интервале
И др. ссылки внизу страницы
SerVal
 Аватар для SerVal
17 / 17 / 2
Регистрация: 16.04.2015
Сообщений: 166
07.09.2015, 22:29     Определить количество простых чисел в интервале #3
GetAllPrimesInRange()
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
bool is_prime(unsigned long long candidate)
{
    if (candidate == 2) return true;
    if (!(candidate & 1)) return false;
 
    for (unsigned long long i = 3; true; i += 2)
    {
        unsigned long long q = candidate / i;
        if (q < i)
            return true;
        if (candidate == q * i)
            return false;
    }
    return true;
}
 
#define vect_ull vector < unsigned long long >
 
vect_ull GetAllPrimesInRange(unsigned long long lower_bound, unsigned long long upper_bound)
{
    unsigned long long start_num, end_num = upper_bound;
    
    if (lower_bound & 1) start_num = lower_bound;
    else start_num = lower_bound+1;
 
    vect_ull myPrimes;
 
    for (unsigned long long i = start_num; i <= end_num; i+=2)
    {
        if( is_prime(i))
            myPrimes.push_back(i);
    }
    return myPrimes;
}

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main(int argc, char *argv[])
{
    setlocale(LC_CTYPE, "russian");
 
    unsigned long long lower_bound = 3;       // << "Введите начало"
    unsigned long long upper_bound = 100;   // << "Введите конец"
    
    vect_ull myPrimes = GetAllPrimesInRange(lower_bound, upper_bound);
 
    std::cout << "Простые числа в диапазоне: " << lower_bound << " .. " << upper_bound << endl;
    std::cout << "Найдено: " << myPrimes.size() << endl;
    std::cout << "Первое: " << myPrimes[0] << endl;
    std::cout << "Последнее: " << myPrimes[myPrimes.size() - 1] << endl;
    std::cout << "Все: " << endl;
    for (size_t i = 0; i < myPrimes.size(); i++)
    {
        std::cout << myPrimes[i] << " ";
    }
    std::cout << endl;
 
   return 0;
}
Output:
C++
1
2
3
4
5
6
Простые числа в диапазоне: 3 .. 100
Найдено: 24
Первое: 3
Последнее: 97
Все:
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Yandex
Объявления
07.09.2015, 22:29     Определить количество простых чисел в интервале
Ответ Создать тему
Опции темы

Текущее время: 09:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru