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

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

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

Простые числа, не корректная работа - C++

07.06.2014, 04:53. Просмотров 168. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста найти ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
void main()
{
    for (int i = 2; i < 100; i++)
    {
        for (int j = 2; j < i; j++)
        {
            if (j % 1 == 0 && i%j == 0)
            break;
            else
            cout << i << " ";
            break;
        }
    }
    cout << endl;
}
Результат работы:
3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57
59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 04:53     Простые числа, не корректная работа
Посмотрите здесь:

C++ Простые числа
простые числа C++
C++ Простые числа
Простые числа. C++
C++ Простые числа
C++ Простые числа
Простые числа C++
C++ Простые числа
C++ не корректная работа меню или всей программы
C++ Не корректная работа visual studio 2012 Express
Корректная работа программы с русскими буквами C++
Не корректная работа цикла при вызове функции добавления пользователя C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Renji
1752 / 1179 / 274
Регистрация: 05.06.2014
Сообщений: 3,397
07.06.2014, 05:00     Простые числа, не корректная работа #2
Здравствуйте! Помогите пожалуйста найти ошибку.
Вложенный цикл всегда завершается на двойке, без проверки всех остальных делителей. Алсо, j % 1==0 лишено смысла (любое целое делится на единицу без остатка -> равенство всегда истинно).
Croessmah
Модератор
Эксперт CЭксперт С++
12675 / 7183 / 801
Регистрация: 27.09.2012
Сообщений: 17,710
Записей в блоге: 2
Завершенные тесты: 1
07.06.2014, 05:00     Простые числа, не корректная работа #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
using namespace std;
int main()
{
    for (int i = 2; i < 100; i++)
    {
       bool f = true ;
        for (int j = 2; j < i; j++)
        {
            if (i%j == 0) {
               f = false ;
               break ;
            }
        }
        if  ( f )
         cout << i << " ";
    }
    cout << endl;
}
Yandex
Объявления
07.06.2014, 05:00     Простые числа, не корректная работа
Ответ Создать тему
Опции темы

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