Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/91: Рейтинг темы: голосов - 91, средняя оценка - 4.67
timaberezhnov
14 / 14 / 6
Регистрация: 10.09.2013
Сообщений: 67
1

Найти все простые числа в заданном диапазоне и вывести их на экран

20.11.2013, 17:57. Просмотров 16383. Ответов 5
Метки нет (Все метки)

Доброго времени суток!
Есть задачка, есть кривое решение.
Суть задачки такова: найти все простые числа до 1000 и вывести их на экран.
Помогите, пожалуйста, новичку, подправьте код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main()
{
    int i,j;
    for (i=2; i<1000; i++) {
        for (j=2; j<i; j++) if (!(i%j)) break;
        cout<<j<<" простое число.\n";
        }
          
    system ("pause");
    return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 17:57
Ответы с готовыми решениями:

Найти все простые числа в заданном диапазоне
Найти все простые числа в промежутке между натуральными числами а и b (а &gt; 2000, b - а ≥ 20)

Вывести все простые числа в заданном диапазоне, которые являются палиндромами
Напишите программу , которая выводит все простые числа , которые являются палиндромами ( то есть...

Найти простые числа в заданном диапазоне с помощью решета Эратосфена и вывести их в файл
Для зачета задали написать программу для нахождения простых чисел от 1 до 1000000000 и вывод их в...

Вывести на экран все числа, делящиеся на 3 в заданном диапазоне
вывести на экран все числа, делящиеся на 3 в диапазоне. Результат правильный для диапазона 11 ......

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

5
[NovicheK]
19 / 19 / 6
Регистрация: 09.03.2012
Сообщений: 91
20.11.2013, 19:31 2
чтобы узнать простое ли число,можно делить на числа меньшие либо равные корню из него.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<cmath>
using namespace std;
int main(){
    bool prime;
    for(int i=2;i<1000;i++){
        prime =true;
        double sqrti=sqrt((double)i);
        for(int j=2;j<sqrti+1;j++)
            if(i%j==0) {
                prime=false;
                break;
                }
        if(prime) cout<<i<<" простое число \n";
    }   
return 0;
}
1
timaberezhnov
14 / 14 / 6
Регистрация: 10.09.2013
Сообщений: 67
20.11.2013, 20:59  [ТС] 3
[NovicheK], спасибо, разобрался

Обошёлся без корней, просто добавил переменную bool, как у Вас в коде.
Всё встало на свои места)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    bool pointer;
    int i,j;
    for (i=2; i<1000; i++) {
        pointer=true;
        for (j=2; j<i; j++) if (!(i%j)) { pointer=false; break; };         
        if (pointer==true) cout<<j<<" ïðîñòîå ÷èñëî\n";
        }
          
    system ("pause");
    return 0;
}
1
Борисович
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 4
09.12.2015, 21:50 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
#include <iostream>
using namespace std;
void main(){
    setlocale(LC_ALL, "Rus");
 
    cout << "\t\t\t\t"Простые числа"\n\n\n\n";
 
 
    int a, b, c, n = 0;
 
    for (a = 3; a <= 1000; a++)
    {
        c = a / 2;
        int d = 0;
 
        for (b = 2; b <= c; b++)
            if ((a%b) == 0)
            {
                d++;
                break;
            }
        if (d == 0)
        {
            cout << a << "\t";
            n++;
            if ((n>0) && ((n % 10) == 0))
                cout << "\n";
        }
    }
    cout << "\n\nКоличество простых чисел: " << n << "\n\n\n";
    
}
Если кому не сложно , и не лень,прокомментируйте данный код!!!
Насчет переменной "а" - все понятно.А вот что определяют другие переменные не совсем понятно!
0
pavlin2000
1 / 1 / 0
Регистрация: 28.07.2013
Сообщений: 40
09.01.2016, 05:20 5
а что , если проверять каждое число на остаток от деления на 2,3,5,7 и если хоть один будет ноль , то число не простое, само собой, учтя в итоге их и 1?

Добавлено через 8 минут
ой, простые с 2, вроде, начинаются. ну и , естественно, корень проверять
0
N13M12
1 / 1 / 0
Регистрация: 20.02.2018
Сообщений: 2
20.02.2018, 19:01 6
#include <iostream>
using namespace std;
int main ()
{
setlocale(0, "res");
cout << "Enter the size: ";
int size;
cin >> size;
int count = 0;
for(int i = 2; i < size; i++)
{
count = 0;
for (int j = 1; j <= i;j++)
{
if(i % j == 0)
{
count++;
}
}
if(count <= 2)
{
cout << i << " ";
}
}
cout << endl;
return 0;
}
1
20.02.2018, 19:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2018, 19:01

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

Найти простые числа в заданном диапазоне с помощью решета Эратосфена
Задача: вывести простые числа в диапозоне от А до В. ( 2 ≤ А и ≤ В ≤ 100000 ) Если таких чисел...

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


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

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

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