Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
1

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

04.05.2010, 18:34. Просмотров 782. Ответов 8
Метки нет (Все метки)

Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2010, 18:34
Ответы с готовыми решениями:

Составить программу вычисления количества простых чисел, принадлежащих отрезку [m, n]
помогите пожалуйста решить задачу на С++ Составить программу вычисления количества простых чисел,...

Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту...

Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту...

Составить программу нахождения количества простых чисел от m до n. Проверку, является ли число простым, оформить в виде функции
Составить программу нахождения количества простых чисел от m до n. Проверку, является ли число...

8
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
04.05.2010, 19:48 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;
}


Будет непонятно, объясню.
0
4335 / 1467 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 19:50 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;
}
1
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
04.05.2010, 19:51 4
k1ry4, что за round? Не встречался.

Такой вариант тоже более правильный будет?
C++
1
for (int i=2; i<=num/2; i++)
0
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
04.05.2010, 19:54 5
Для реализации можно испрользовать bitset, а алгоритм - решето Эратосфена
0
4335 / 1467 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 19:57 6
neske, просто максимально возможный простой множитель, входящий в разложение составного числа, равен корню из этого числа.
0
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
04.05.2010, 20:00 7
Да, я уже понял =)

Само слово round, непонятно его назначение.
0
4335 / 1467 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 20:03 8
neske, sqrt возвращает тип double, а round - округление. Не исключаю, что этого не требуется в С++, так как там предусмотрен механизм приведения типов.
1
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
04.05.2010, 23:35  [ТС] 9
А объясните что означает std?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2010, 23:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вычисления количества простых чисел, принадлежащих отрезку
Задание: Составить программу вычисления количества простых чисел, принадлежащих отрезку . Для...

Дано натуральное число N. Составить функцию для проверки можно ли число N представить в виде произведения трех простых
Дано натуральное число N. Составить функцию для проверки можно ли число N представить в виде...

Составить рекурсивную функцию для определения, является ли заданное натуральное число n простым
составить рекурсивную функцию для определения, является ли заданное натуральное число n простым ...

Программа для проверки, является ли число простым
Всем добрый вечер! Только начала изучение С#. Нужно написать программу проверки является ли...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.