Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Аня 13
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
#1

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

04.05.2010, 18:34. Просмотров 658. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2010, 18:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию (C++):

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

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

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

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

Найти среднее арифметичное для чисел пока не введем 0. Только через for и do-while и проверить является ли число простым - C++
Помогите пожалуйста! Найти среднее арифметичное для чисел пока не введем 0.Только через for и do-while и проверить является ли число...

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

8
neske
1520 / 887 / 89
Регистрация: 26.03.2010
Сообщений: 3,050
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
yanyk1n
4331 / 1462 / 152
Регистрация: 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
neske
1520 / 887 / 89
Регистрация: 26.03.2010
Сообщений: 3,050
04.05.2010, 19:51 #4
k1ry4, что за round? Не встречался.

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

Само слово round, непонятно его назначение.
0
yanyk1n
4331 / 1462 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 20:03 #8
neske, sqrt возвращает тип double, а round - округление. Не исключаю, что этого не требуется в С++, так как там предусмотрен механизм приведения типов.
1
Аня 13
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
04.05.2010, 23:35  [ТС] #9
А объясните что означает std?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2010, 23:35
Привет! Вот еще темы с ответами:

Напишите функцию, определяющую является ли число простым - C++
2. Напишите функцию, определяющую является ли число простым (Целое число является простым, если оно делится только на 1 и на само себя....

Разработать функцию, проверяющую, является ли число простым - C++
1)Разработать функцию, проверяющую, является ли число простым. С её помощью найти и напечатать все простые числа из интервала от n до m.

Определить функцию, проверяющую, является ли число простым - C++
помогите пожалуйста...и с комментариями желательно УСЛОВИЕ: Определить функцию, проверяющую, является ли данное число простым....

Указать те ее элементы, которые принадлежат отрезку [с, d]. - C++
Дана последовательность действительных чисел a1, a2, ..., аn. Указать те ее элементы, которые принадлежат отрезку .


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

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

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