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

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

Войти
Регистрация
Восстановить пароль
 
jusa
1 / 1 / 0
Регистрация: 09.01.2011
Сообщений: 12
#1

простые числа в диапазоне.. - C++

09.01.2011, 21:36. Просмотров 992. Ответов 7
Метки нет (Все метки)

задача-вывести все простые числа в диапазоне от М до N
(диапазон с клавиатуры)


может быть есть простой более метод нахождения простых чисел в..одномерном массиве?
те что находила не смогу объяснить(
да и метод ввода в диапазоне..знаю рандомно и просто с клавиатуры элементы,а этого нет в лекциях(
подскажите?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2011, 21:36     простые числа в диапазоне..
Посмотрите здесь:

простые числа в заданном диапазоне - C++
помогите пожалуйста написать программку...я все уже тут посмотрела, никак не могу реализовать её Найти все простые числа заданном...

Вывести все простые числа в диапазоне от a до b - C++
Напишите программу , которая вводит натуральные числа a и b и выводит все простые числа в диапазоне от a до b . Здравствуйт, помогите...

Найти простые числа в диапазоне от 1 до 1000 - C++
Задание звучит так Написать программу поиска простых чисел из множества натуральных чисел от 1 до 1000 и записи их в массив. Записать на...

Найти простые числа в заданном диапазоне (циклы) - C++
Найти простые числа в диапазоне от 2 до 1000 цикл в цикле с помощью циклов for

Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000 - C++
Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000. (Число называется простым, если оно делится только...

Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000 - C++
Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000. (Число называется простым, если оно делится только на 1...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
deadlock
375 / 354 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 22:02     простые числа в диапазоне.. #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
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[])
{
    int a,b,*array;
    cout<<"Vvedite granici intervala: "<<endl;
    cout<<"Minimum: ";
    cin>>a;
    cout<<"Maximum: ";
    cin>>b;
    array=new int[b-a];
    for (int i=0;i<b-a;i++) array[i]=0;
    array=Prost(3,b);
    for (int i=0;i<b-a;i++) if (array[i]!=0&&array[i]>=a) cout<<array[i]<<" ";
}
Добавлено через 19 минут
в программе необходимо ввести нижнюю границу диапазона, затем верхнюю и на экран будут выведены все простые числа зи данного диапазона
jusa
1 / 1 / 0
Регистрация: 09.01.2011
Сообщений: 12
09.01.2011, 22:08  [ТС]     простые числа в диапазоне.. #3

благодарствую!
и не так массивна
вы гениальны!
KEKCoGEN
Эксперт Java
1899 / 1777 / 432
Регистрация: 28.12.2010
Сообщений: 7,173
09.01.2011, 22:12     простые числа в диапазоне.. #4
по-моему достаточно проверять число на деление не до самого числа а до его корня.
deadlock
375 / 354 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 22:22     простые числа в диапазоне.. #5
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
по-моему достаточно проверять число на деление не до самого числа а до его корня.
программа проверяет делимость числа на массив найденных простых чисел, а не на все (что согласись быстрее, чем проверять до корня).
есть более эффективные алгоритмы, но в задаче не оговорена эффективность или изящность.

недостатки программы:
1. неэффективное использование памяти;
2. генерация происходит не от минимальной границы диапазона, а от 3, просто вывод на экран начинается с минимума диапазона, что сказывается на времени работы при большой верхней границе;
но генерация массива простых происходит верно, что удовлетворяет условию задачи
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.01.2011, 22:31     простые числа в диапазоне.. #6
deleted
deadlock
375 / 354 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 22:37     простые числа в диапазоне.. #7
решето Аткина, решето Сундарама
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2011, 22:38     простые числа в диапазоне..
Еще ссылки по теме:

Даны натуральные числа a,b(a<= Ь). Получить все простые числа р, удовлетворяющие неравенствам a<= р<= b. - C++
Даны натуральные числа a,b(a&lt;= Ь). Получить все простые числа р, удовлетворяющие неравенствам a&lt;= р&lt;= b. Решите на С++. Буду очень...

Числа в диапазоне [0..1] - C++
Здраствуйте... мне нада генератор чисел (си/си++) в диапазоне 0..1, например, 0 0.01 0.76

Простые числа - C++
Доброго дня. Данный код проверяет ,является ли число простым. Есть ли альтернативный алгоритм проверки ,более &quot;компактный&quot; ? #include...

Простые числа - C++
У меня 2 задачи. Объясните, пожалуйста, просто алгоритмы. 1) Найти n-ное простое число (например n=10^5) 2) Разложение составного числа...


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

Или воспользуйтесь поиском по форуму:
silent_1991
09.01.2011, 22:38     простые числа в диапазоне..
  #8

Не по теме:

deadlock, да-да, про них я уже тоже вспомнил)))

Yandex
Объявления
09.01.2011, 22:38     простые числа в диапазоне..
Ответ Создать тему
Опции темы

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