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

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

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

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

19.10.2011, 23:06. Просмотров 544. Ответов 11
Метки нет (Все метки)

Дано простое число. составить функцию, которая будет находить следующие за ним простые числа.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 23:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить функцию, которая будет находить следующие за заданным простые числа (C++):

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

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

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

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

Заданы натуральные числа m и n. Найти НОД(m,n) Составить программу которая будет содержать рекурсивную функцию вычисления НОД...... - C++
Заданы натуральные числа m и n. Найти НОД(m,n) Составить программу которая будет содержать рекурсивную функцию вычисления НОД, которая...

Написать программу, которая будет находить разность тригононометрических функций - C++
Всем привет, у меня проблема. Нужно в С++ написать программу, которая будет находить разность y и z, если подставить значение альфы, беты...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.10.2011, 01:22 #2
komarro, что эта функция должна вернуть, если на вход ей подаётся 7?
komarro
1 / 1 / 0
Регистрация: 05.01.2011
Сообщений: 19
20.10.2011, 01:23  [ТС] #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
komarro, что эта функция должна вернуть, если на вход ей подаётся 7?
следующее за 7 простое число
например 11
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.10.2011, 01:31 #4
komarro, а не например? Сначала вы пишите "следующие за ним простые числа" - во множественном числе. Сколько этих чисел должно быть? Непонятно. Теперь вы говорите "например". Например 11? А например 13 или например 17 подойдёт?
komarro
1 / 1 / 0
Регистрация: 05.01.2011
Сообщений: 19
20.10.2011, 01:35  [ТС] #5
Цитата Сообщение от silent_1991 Посмотреть сообщение
komarro, а не например? Сначала вы пишите "следующие за ним простые числа" - во множественном числе. Сколько этих чисел должно быть? Непонятно. Теперь вы говорите "например". Например 11? А например 13 или например 17 подойдёт?
Извиняюсь, перепутал.
там нужно найти следующее за ним простое число.

Добавлено через 46 секунд
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
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
 
int main()
{
        ifstream fin("1.in");
        ofstream fout("1.out");
int i,j,n;
double a;
int c;
bool b;
        fin>>n;
 
        for (i=n+1;i<n+n*n/2;i++)
            {
              for (j=2;j<i-1;j++)
              {
                a=i/j;
                c=a;
                if (c%1!=0) 
                b=true;
              }
              if (!b) fout<<i;
            }
        
        
        return 0;
}
есть набросок, но не верно работает.
содержание 1.in 7
содержание 1.out 11
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.10.2011, 01:43 #6
Внешний цикл надо сделать бесконечным.
komarro
1 / 1 / 0
Регистрация: 05.01.2011
Сообщений: 19
20.10.2011, 01:45  [ТС] #7
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.h>
#include <fstream.h>
#include <iomanip.h>
 
int main()
{
        ifstream fin("1.in");
        ofstream fout("1.out");
int i,j,n;
double a;
int c;
bool b;
        fin>>n;
 
        for (;;)
            {
              for (j=2;j<i-1;j++)
              {
                a=i/j;
                c=a;
                if (i % j == 0)
                {
                     b = true;
 
                        break;
                }
              }
              if (b) fout<<i;
            }
        
        
        return 0;
}
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.10.2011, 01:50 #8
Ошибся, сейчас поправлю.

Добавлено через 1 минуту
На самом деле должно быть так:
До вложенного цикла переменной b присваивается true, а тело цикла должно быть таким:

C++
1
2
3
4
5
6
if (i % j == 0)
{
    b = false;
    
    break;
}
Добавлено через 2 минуты
komarro, так у вас вообще всё зациклится. Надо было сделать так:
C++
1
for (i = n + 2; ; n += 2)
komarro
1 / 1 / 0
Регистрация: 05.01.2011
Сообщений: 19
20.10.2011, 01:52  [ТС] #9
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
34
35
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <math.h>
 
int main()
{
        ifstream fin("1.in");
        ofstream fout("1.out");
int j,n;
double a;
int c;
bool b;
        fin>>n;
 
        for (int i = n + 2; ; n += 2)
 
            {
            b=true;
              for (j=2;j<i-1;j++)
              {
                a=i/j;
                c=a;
                if (i % j == 0)
                    {
                        b = false;
                        break;
                    }
              }
              if (!b) fout<<i;
            }
        
        
        return 0;
}
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.10.2011, 01:53 #10
komarro, условие вывода должно быть таким:

C++
1
2
3
4
5
6
if (b)
{
    fout << i;
 
    break;
}
alkagolik
Заблокирован
20.10.2011, 02:03 #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int prim (int n)
{
    int i = n + 2, k, tmp;
    while (1)
    {
        tmp = 1;
 
        for (k = 2; k < sqrt( (float) (i + 1) ); ++k)
            if ( !(i % k) )
            {
                tmp = 0;
                break;
            }
        if (tmp)
            break;
        else
            i += 2;
    }
    return i;
}
Добавлено через 7 минут
komarro, я подправил. добавил строку 6
komarro
1 / 1 / 0
Регистрация: 05.01.2011
Сообщений: 19
20.10.2011, 02:07  [ТС] #12
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.h>
#include <fstream.h>
#include <iomanip.h>
#include <math.h>
 
int main()
{
        ifstream fin("1.in");
        ofstream fout("1.out");
int n;
 
        fin>>n;
 
 
 
    int i = n + 2, k, tmp;
    while (1)
    {
        tmp = 1;
 
        for (k = 2; k < sqrt( (float) (i + 1) ); ++k)
            if ( !(i % k) )
            {
                tmp = 0;
                break;
            }
        if (tmp)
            break;
        else
            i += 2;
    }
    fout<<i;
}
спасибо всем кто мне помогал
вот полностью рабочий код
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 02:07
Привет! Вот еще темы с ответами:

Написать функцию которая проверяет если число(простые числа) не делится на N и меньше N... - C++
Написать функцию которая проверяет если число(простые числа) не делится на N и меньше N...

Разработать программу, которая будет находить вхождения одной строки в другую. - C++
написать программу, которая будет находить вхождения одной строки в другую

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа - C++
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только...

Составить функцию которая добавляет в начало числа, увеличивая порядок числа на 1. - C++
Здравствуйте, помогите решить задачу на C++: Составить функцию, которая, получив целое число, сравнивает первую и последнюю его цифры...


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

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

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