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

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

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

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

13.11.2013, 16:54. Просмотров 414. Ответов 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
{
 setlocale(LC_ALL,"Russian");
 int a,b;
 cout<<"ПРОГРАММА, ОПРЕДЕЛЯЮЩАЯ ВСЕ ПРОСТЫЕ ЧИСЛА ИЗ ИНТЕРВАЛА НАТУРАЛЬНЫХ"<<endl<<endl;
 m: n: cout<<"Введите начало интервала: ";
 cin>>a;
 cout<<"Введите конец интервала: ";
 cin>>b;
 
 cout<<"Простые числа: ";
 for (int i=a;i<=b;i++)
 {
  for(int j=2; j<=i/2+1; j++)
  {
   if (i%j==0&&i!=2) 
   {
    break;
   }
   if(j==i/2+1)
   {
    cout<<i<<", ";
   }
  }
 }
 cout<<"\n"<<"\n";
 goto m;
 system("PAUSE");
 return 0;
 
}
Писал программу , выбирающую из натуральных чисел простые ... с алгоритмом проблема была ... наше в интернете .дописал прогу ...рабочая ... но не могу понять эту строчку if(j==i/2+1) ...зачем надо делить на 2 и прибавлять 1 ???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 16:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос из заданного интервала натуральных чисел определить простые (C++):

Из заданного интервала натуральных чисел определить все простые числа - C++
Завтра сдавать, помогите создать, кто что сможет, буду очень благодарна ... 2 Заданы числа А,В,C,D. Выяснить можно ли прямоугольник со...

Из заданного интервала натуральных чисел определить все простые числа - C++
из заданного интервала натуральных чисел определить все простые числа

Определить все пары "близнецов" из заданного интервала натуральных чисел - C++
Помогите написать простой код на с++. Условие: Два простых числа называются &quot;близнецами&quot;, если они отличаются друг от друга на 2...

Определить все пары "близнецов" из заданного интервала натуральных чисел - C++
Два простых числа называются &quot;близнецами&quot;, если они отличаются друг от друга на 2( Например 22 и 24, 47 и 49, 13 и 17 и т.д) Определить все...

Из заданного интервала натуральных чисел выбрать и напечатать все пары дружественных чисел - C++
Напишите пожалуйста простой код на с++ вот условие Из заданного интервала натуральных чисел выбрать и напечатать все пары дружественных...

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

4
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
13.11.2013, 17:03 #2

Не по теме:

Цитата Сообщение от Achakoo Посмотреть сообщение
m: n: cout<<"Введите начало интервала: ";
Воу! что это?



Добавлено через 2 минуты
Цитата Сообщение от Achakoo Посмотреть сообщение
if(j==i/2+1)
это проверили дошли ли мы до конца цикла. То есть, все ли значения были перебраны
1
Achakoo
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 40
13.11.2013, 17:26  [ТС] #3
Цитата Сообщение от metaluga145 Посмотреть сообщение

Не по теме:


Воу! что это?



ну да согласен .... n: не нужно

Добавлено через 2 минуты

это проверили дошли ли мы до конца цикла. То есть, все ли значения были перебраны
то есть возьмем мы интервал от 1 до 10 ... конец интервала 10
и как програма проверит что последнее число 10 ... я прогоняю десятку и ересь какая-то получается ... не пойму
0
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
13.11.2013, 18:50 #4
Цитата Сообщение от Achakoo Посмотреть сообщение
то есть возьмем мы интервал от 1 до 10 ... конец интервала 10
Конец интервала не 10. Там проверяется условие цикла по j. j меняется от 2 до i/2+1(включительно). Если оказалось, что i делится хотя бы на одно число из [2; i/2+1], то цикл заканчивается и это значит, что число не простое. Если же j дошло до максимального значения, то есть до i/2+1, то это означает, что число простое. Но так как переменная j объявлена в цикле, то соответственно за пределами цикла мы ее проверить не можем. Таким образом в цикле j проверяется на окончание цикла не брейком. Надеюсь Вы поняли к чему проверка.

А теперь о том, почему не работает. Если число просто, то оно 100% нечетное( не считая двойки). Если оно нечетное , то число i/2+1 является нецелым, что в свою очередь означает, что j никогда не равно i/2+1, потому что j всегда целое.
1
Achakoo
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 40
14.11.2013, 08:34  [ТС] #5
Цитата Сообщение от metaluga145 Посмотреть сообщение
Конец интервала не 10. Там проверяется условие цикла по j. j меняется от 2 до i/2+1(включительно). Если оказалось, что i делится хотя бы на одно число из [2; i/2+1], то цикл заканчивается и это значит, что число не простое. Если же j дошло до максимального значения, то есть до i/2+1, то это означает, что число простое. Но так как переменная j объявлена в цикле, то соответственно за пределами цикла мы ее проверить не можем. Таким образом в цикле j проверяется на окончание цикла не брейком. Надеюсь Вы поняли к чему проверка.

А теперь о том, почему не работает. Если число просто, то оно 100% нечетное( не считая двойки). Если оно нечетное , то число i/2+1 является нецелым, что в свою очередь означает, что j никогда не равно i/2+1, потому что j всегда целое.
Все понятно ... спасибо ..выручил )))
0
14.11.2013, 08:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2013, 08:34
Привет! Вот еще темы с ответами:

Для введенного натурального числа N (1<=N<106). Определить количество натуральных чисел из интервала от 1 до N - C++
Для введенного натурального числа N (1&lt;=N&lt;106). Определить количество натуральных чисел из интервала от 1 до N (включительно) таких, что...

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

Вывести простые числа из заданного интервала - C++
написать программу выводящую на экран все простые числа из интервала от n до m Для определения является ли число простым составить...

Найти все пары дружественных натуральных чисел из интервала от N 1 до N 2. - C++
Очень нужна помощь!) Помогите пожалуйста) в С++, visual studio учусь на первом курсе мех-мата: Найти все пары дружественных...


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

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

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