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

Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию - C++

Восстановить пароль Регистрация
 
Аня 13
 Аватар для Аня 13
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
04.05.2010, 18:34     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #1
Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию prostoe.Функция возвращает 1, если число простое, а 0-В остальных случаях.
int prostoe(int n)
C++
1
2
3
4
5
6
7
8
9
10
{ int d, r;
d=2; 
do {
r=n%d;
if (r!= 0) d++;
}
while (r!=0); 
if (d==n) return 1; 
else return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2010, 18:34     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию
Посмотрите здесь:

Составить программу вычисления количества простых чисел, принадлежащих отрезку [m, n] C++
C++ Вычисления количества простых чисел, принадлежащих отрезку
Найти среднее арифметичное для чисел пока не введем 0. Только через for и do-while и проверить является ли число простым C++
Разработать функцию, проверяющую, является ли число простым C++
Напишите функцию, определяющую является ли число простым C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
04.05.2010, 19:48     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #2
Код.
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
#include <iostream>
int prostoe (int);
 
int main()
{
    int M,N;
    std::cout << "Input M: ";
    std::cin >> M;
    std::cout << "Input N: ";
    std::cin >> N;
 
    for (int i=M; i<=N; i++)
    if ( prostoe(i) ) std::cout << i << "  ";
    return 0;
}
 
int prostoe (int num)
{
    for (int i=2; i<num; i++)
        if (num%i==0)
            return 0;
 
    return 1;
}


Будет непонятно, объясню.
yanyk1n
 Аватар для yanyk1n
4324 / 1455 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 19:50     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #3
neske, стоит ограничить верхний диапазон перебора:
C++
1
2
3
4
5
6
7
8
int prostoe (int num)
{
    for (int i=2; i<=round(sqrt(num)); i++)
        if (num%i==0)
            return 0;
 
    return 1;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
04.05.2010, 19:51     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #4
k1ry4, что за round? Не встречался.

Такой вариант тоже более правильный будет?
C++
1
for (int i=2; i<=num/2; i++)
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
04.05.2010, 19:54     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #5
Для реализации можно испрользовать bitset, а алгоритм - решето Эратосфена
yanyk1n
 Аватар для yanyk1n
4324 / 1455 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 19:57     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #6
neske, просто максимально возможный простой множитель, входящий в разложение составного числа, равен корню из этого числа.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
04.05.2010, 20:00     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #7
Да, я уже понял =)

Само слово round, непонятно его назначение.
yanyk1n
 Аватар для yanyk1n
4324 / 1455 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 20:03     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #8
neske, sqrt возвращает тип double, а round - округление. Не исключаю, что этого не требуется в С++, так как там предусмотрен механизм приведения типов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2010, 23:35     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию
Еще ссылки по теме:

C++ Определить функцию, проверяющую, является ли число простым
Составить функцию, определяющую, является ли ее аргумент простым числом C++

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

Или воспользуйтесь поиском по форуму:
Аня 13
 Аватар для Аня 13
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
04.05.2010, 23:35  [ТС]     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию #9
А объясните что означает std?
Yandex
Объявления
04.05.2010, 23:35     Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию
Ответ Создать тему
Опции темы

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