14 / 14 / 6
Регистрация: 10.09.2013
Сообщений: 67
1

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

20.11.2013, 17:57. Показов 48041. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2013, 17:57
Ответы с готовыми решениями:

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

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

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

Найти все простые числа, лежащие в заданном диапазоне
Задача: Найти все простые числа, лежащие в заданном диапазоне. Простые числа – это числа больше 1...

5
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
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
1 / 1 / 0
Регистрация: 28.07.2013
Сообщений: 50
09.01.2016, 05:20 5
а что , если проверять каждое число на остаток от деления на 2,3,5,7 и если хоть один будет ноль , то число не простое, само собой, учтя в итоге их и 1?

Добавлено через 8 минут
ой, простые с 2, вроде, начинаются. ну и , естественно, корень проверять
0
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2018, 19:01
Помогаю со студенческими работами здесь

Дано число n в диапазоне от 100 до 800. Вывести на экран все числа больше n в заданном диапазоне
Нужно реализовать данное задание с помощью пост и пред условия. Предусловие понятно, а как вывести...

Перебором делителей найти простые числа в указанном диапазоне, и вывести все простые числа в поле Memo
Мне нужна программка на Delphi, которая простым перебором делителей находит простые числа в...

Вывести на экран все простые числа в диапазоне от 2 до N.
Здравствуйте,уважаемые форумчане! Обращаюсь к вам с просьбой помочь) Просто в...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru