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

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

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

Функция: для заданного числа А вывести предшествующее ему простое число - C++

21.12.2015, 17:05. Просмотров 382. Ответов 4
Метки нет (Все метки)

Для заданного числа А вывести на экран предшествующее по отношению к
нему простое число.

Столкнулся с проблемкой, при вводе 1, печает 0, как это исправить?
В самом цикле do while поменять что-то?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int f(int n)
{
    setlocale(LC_ALL,"Russian");
int flag, i;  
    for (i = 2, flag = 0; i<n; i++)
    if (!(n%i))
        flag = 1;
    if (!flag) return 0;
    else return 1;
}
int main()
{ int n;
cout << "Enter number:";
cin >>n;
do n--;
while (f(n) == 1);
cout<<"Prostoe chislo:" <<n<<endl;
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2015, 17:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция: для заданного числа А вывести предшествующее ему простое число (C++):

Для заданного числа А вывести на экран предшествующее по отношению к нему простое число - C++
Как мне выводить последующее простое число? Если я задаю 5, то проверяю, простое оно, или нет, а вот что дальше делать? ...

Вывести ближайшее к заданному числу N простое число; если таких числа два, то вывести меньшее - C++
Помогите пожалуйста решить задачу! Дано одно целое число N. Вывести ближайшее к заданному числу N простое число. Если таких два, то...

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

Определить ближайшее простое число, большее заданного - C++
Определить ближайшее простое число,больше заданного с++

Определить ближайшее простое число, меньше заданного - C++
определить просто число меньше заданного(просто то которое делится на 1 и на самого себя и только) using namespace std; int main() { ...

Для заданного натурального числа N вывести в столбик все совершенные числа меньшие N c++ - C++
Для заданного натурального числа N вывести в столбик все совершенные числа меньшие N. Совершенное число – натуральное число, которое равно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
_Valera_
486 / 368 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
21.12.2015, 17:09 #2
Цитата Сообщение от EvilRaccoon Посмотреть сообщение
while (f(n) == 1);
не знаю что тут происходит, но могу предложить:
C++
1
while (f(n) != 1);
0
Корпусов
5 / 5 / 2
Регистрация: 19.03.2014
Сообщений: 15
21.12.2015, 17:28 #3
А где у вас в коде функция для нахождения предшествующего простого числа?
0
EvilRaccoon
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 35
21.12.2015, 17:44  [ТС] #4
Я прогоняю числа с помощью этого:
C++
1
2
do n--;
while (f(n) == 1);
И оно идет в функцию.
0
Корпусов
5 / 5 / 2
Регистрация: 19.03.2014
Сообщений: 15
21.12.2015, 18:09 #5
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
#include <iostream>
using namespace std;
 
bool f(int n)
{
    if (n < 3) {
        return 0;
    }
    for (int i = 2; i < n; i++) {
        if (n % i == 0) {
            return false;
        }   
    }
    return true;
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int n;
    cout << "Введите число:";
    cin >> n;
    do {
        n--;
    } while (f(n) && n > 1);
    if (n > 1) {
        cout << "Простое число:" << n << endl;
    } else {
        cout << "Невозможно найти меньшее простое число" << endl;
    }
    system("pause");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2015, 18:09
Привет! Вот еще темы с ответами:

Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или меньше исходного. Вернуться в main( ) и распечатат - C++
Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или меньше исходного. Вернуться в main( ) и...

Дано простое число. Составить функцию, которая будет находить следующее за ним простое число - C++
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число

Дано простое число. Составить функцию, которая будет находить следующее за ним простое число - C++
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число.

Дано простое число. Составить функцию, которая будет находить следующее за ним простое число. - C++
6.2.2. Помогите, пожалуйста, решить задачи в С++ с помощью функций. Дано простое число. Составить функцию, которая будет находить...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.12.2015, 18:09
Ответ Создать тему
Опции темы

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