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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.87
NormalName
Сообщений: n/a
#1

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

22.12.2010, 21:42. Просмотров 3107. Ответов 3
Метки нет (Все метки)

Подсчитать количество простых чисел в произвольном интервале. Границы интервала задаются с клавиатуры.

#include<iostream>
using namespace std;
int main()
{
int min, max;
cout << "Enter min: " ; cin >> min;
cout << "Enter max: " ; cin >> max;
int* arr;
arr= new int[max-min+1];
int cur=min;
for(int i=0; i<=max-min; i++)
arr[i] = cur++;
for(int i=0; i<=max-min; i++)
cout << arr[i] << endl;
cin >> cur;

-------------------------------------------------------------------
вывели все числа с произвольного интервала. Как теперь их проверить на простоту и посчитать их количество, а?

Проверка на простоту должна выглядеть по-моему как-то так:

bool is_prime(int n) {
if (n <= 1)
return false;

for (int j = 2; j * j <= n; j++)
if (n % j == 0) return false;

return true;
}
---------------------------------------------------------------------------------------------
Дальше получаются одни крокодилы. Не подскажите?!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2010, 21:42     Подсчитать количество простых чисел в произвольном интервале
Посмотрите здесь:

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

Найти количество чисел в интервале от 1 до N, взаимно простых с N - C++
Дано число N. Найти количество чисел в интервале от 1 до N,взаимно простых с N.

Целочисленная арифметика: На отрезке [A, B] подсчитать количество простых чисел - C++
На отрезке подсчитать количество простых чисел (1&lt;=A &lt;= B &lt;= 10000).

Подсчитать количество простых чисел в последовательности, больших заданного числа М - C++
Подсчитать количество простых чисел в последовательности, больших заданного числа М. Пример: М=5, 2 3 4 7 19 18 7 8 11 15; результат:...

Подсчитать количество простых чисел в последовательности, больших заданного числа М - C++
Всем привет)) помогите разработать программу С++! Тема: Одномерные массивы. Разработать программу на языке программирования согласно...

Поиск простых чисел в интервале 1 до 100 - C++
напишите прграмму для поиска простых чисел в интервале 1 до 100 СРОЧНО Я НА ЭКЗАМЕНЕ ПОМОГИТЕ ПОЖАЛУЙТА!!!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
deadlock
375 / 354 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
22.12.2010, 21:50     Подсчитать количество простых чисел в произвольном интервале #2
вот функция, находящая все простые числа в интервале a,b:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int *Prost(int a,int b)
{
    int *p=new int[b-a];
    for (int i=0;i<b-a;i++) p[i]=0;
 
    p[0]=2;
    int counter=1;
    for (int i=a;i<b;i++)
     {
       int pr=0;
        for (int k=0;k<counter;k++)
        {
           if (i%p[k]!=0) pr++;
           if (k==counter-1&&pr==counter)
            {
               p[counter]=i;
               counter++;
            }
        }
     }
    return p;
}
возвращает указатель на массив простых чисел из заданного диапазона
NormalName
Сообщений: n/a
22.12.2010, 23:36     Подсчитать количество простых чисел в произвольном интервале #3
Хм. Благодарен за тело.
однако не выводит количество простых чисел как ни крути... в чем мой косяк?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
int a,b;
cout<<"Введите границы интервала: "<<endl;
cout<<"Минимум: ";
cin>>a;
cout<<"Максимум: ";
cin>>b;
}
int *Prost (int a,int b)
{
int *p=new int[b-a];
for (int i=0;i<b-a;i++) p[i]=0;
p[0]=2;
int counter=1;
for (int i=a;i<b;i++)
{
int pr=0;
for (int k=0;k<counter;k++)
{
if (i%p[k]!=0) pr++;
if (k==counter-1&&pr==counter)
{
p[counter]=i;
counter++;
}
}
}
cout<<"Количество простых чисел в заданном интервале равно: ";
cin>>i;
return p;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2010, 01:03     Подсчитать количество простых чисел в произвольном интервале
Еще ссылки по теме:

Функция по нахождению простых чисел на интервале - C++
Дан определенный интервал надо чтобы находила простые числа и выводила на экран как решить

Нахождение простых чисел в интервале от 1 до 100 - C++
Приветствую. Мне нужно найти все простые числа от 1 до 100. Вот мой &quot;каркас&quot;: #include &lt;iostream&gt; using namespace std; int main() {...

Выяснить сколько простых чисел находится в интервале - C++
14. Выяснить сколько простых чисел находится в интервале , и распечатать их. Для определения, является ли очередное число простым,...

Найти сумму всех простых чисел в интервале от 0 до 1000000 - C++
Есть программка считающая сумму всех простых чисел от 0 до 1 млн. Но результат выдает не правильно. Если вместо млн уменьшаешь диапазон до...

Напишите программу вычисления суммы квадратов простых чисел, лежащих в интервале (M,N) - C++
с использованием функций

Функция вычисления суммы квадратов простых чисел, лежащих в заданном интервале - C++
Составить программу вычисления суммы квадратов простых чисел, лежащих в интервале (M, N).


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

Или воспользуйтесь поиском по форуму:
deadlock
375 / 354 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
23.12.2010, 01:03     Подсчитать количество простых чисел в произвольном интервале #4
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <fstream>
using namespace std;
 
int *Prost (int a,int b)
{
 int *p=new int[b-a];
  for (int i=0;i<b-a;i++) p[i]=0;
 p[0]=2;
 int counter=1;
  for (int i=a;i<b;i++)
   {
     int pr=0;
      for (int k=0;k<counter;k++)
       {
         if (i%p[k]!=0) pr++;
         if (k==counter-1&&pr==counter)
          {
            p[counter]=i;
            counter++;
          }
       }
   }
return p;
}
 
int main(int argc, char *argv[])
{
    setlocale(LC_ALL,"Russian");
    int a,b,*array;
    cout<<"Введите границы интервала: "<<endl;
    cout<<"Минимум: ";
    cin>>a;
    cout<<"Максимум: ";
    cin>>b;
    array=new int[b-a];
    for (int i=0;i<b-a;i++) array[i]=0;
    array=Prost(3,b);
    int counter=0;
    for (int i=0;i<b-a;i++)
     {
        if (array[i]!=0&&array[i]>=a)
         {
            cout<<array[i]<<" ";
            counter++;
         }
     }
    cout<<"\nКоличество простых чисел в заданном интервале равно: "<<counter;
}
Yandex
Объявления
23.12.2010, 01:03     Подсчитать количество простых чисел в произвольном интервале
Ответ Создать тему
Опции темы

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