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

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

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

C++ Составить функцию которая добавляет в начало числа, увеличивая порядок числа на 1.
C++ Написать функцию которая проверяет если число(простые числа) не делится на N и меньше N...
Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
C++ Написать программу, которая будет находить разность тригононометрических функций
C++ Задача логические функции (составить функцию, которая определяет верно ли что сумма цифр числа четное число)
C++ Составить и проверить функцию, которая переставляет цифры заданного целого числа N1 в обратном порядке и получает новое число N2
C++ Составить и использовать функцию, которая определяет количество цифр одного целого числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4945 / 3021 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 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
Эксперт C++
4945 / 3021 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 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
Эксперт C++
4945 / 3021 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 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
Эксперт C++
4945 / 3021 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 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
Эксперт C++
4945 / 3021 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.10.2011, 01:53     Составить функцию, которая будет находить следующие за заданным простые числа #10
komarro, условие вывода должно быть таким:

C++
1
2
3
4
5
6
if (b)
{
    fout << i;
 
    break;
}
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 02:07     Составить функцию, которая будет находить следующие за заданным простые числа
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
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;
}
спасибо всем кто мне помогал
вот полностью рабочий код
Yandex
Объявления
20.10.2011, 02:07     Составить функцию, которая будет находить следующие за заданным простые числа
Ответ Создать тему
Опции темы

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