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

Близнецы на заданном отрезке - C++

Восстановить пароль Регистрация
 
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
23.09.2011, 00:02     Близнецы на заданном отрезке #1
Я новичок в С++, не могу разобраться как сотавить эту прогу, пожалуйсто помогите:
Написать программу, которая на заданном отрезке [a,b] натурального ряда чисел находит:все близнецы(Два простых числа называются близнецами, если разница между ними равна двум.
3 и5, 5 и 7, 11 и 13, 17 и 19)

 Комментарий модератора 
Дублирование тем запрещено правилами форума. Не плодите одинаковых тем.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
23.09.2011, 00:12     Близнецы на заданном отрезке #2
C
1
2
3
bool prim(N);  // Функция, определяющая простое ли число. Надеюсь напишешь ее сам
for(i=3; i<N; i+=2)
  if (prim(i) && prim(i+2)) cout<<i<<i+2<<endl
Возможна оптимизация этого кода, но это простейшее решение.
При трудностях с написанием функции prim поищи по форуму "простые числа"
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
24.09.2011, 18:04  [ТС]     Близнецы на заданном отрезке #3
эммм. а можно немного поподробней, а то у меня ничего не получилось

Добавлено через 19 часов 9 минут
в частности про функицю bool prim(N);
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.09.2011, 18:17     Близнецы на заданном отрезке #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
#include <iostream>
 
int sieve[9999999] = {1, 1};
 
int main()
{
    int a, b;
    
    std::cin >> a >> b;
    
    for (int i = 2; i <= b; ++i)
    {
        if ( sieve[i] != 0 )
            continue;
        
        if ( i - 2 >= a && sieve[i - 2] == 0)
            std::cout << i - 2 << ' ' << i << std::endl;
        
        for (int j = i * 2; j <= b; j += i)
            sieve[j] = 1;
    }
    
}
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
24.09.2011, 18:18     Близнецы на заданном отрезке #5
покажи что получилось
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
24.09.2011, 18:26     Близнецы на заданном отрезке #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//карточная игра
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{setlocale(LC_ALL,"Rus");
int a[] ={2,125,5,15,5,845,485,45,145,58,458,78,8,5,7,8,10,12,14};
 
for(int i=0;i<19;i++)
for(int z=0;z<19;z++)
    if(a[i]-a[z]==2)
    {cout<<"Числа близницы "<<a[i]<<" и "<<a[z]<<endl;}
 
cin.get();
cin.get();
return 0;
}

Или вот
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
//карточная игра
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{setlocale(LC_ALL,"Rus");
int q;
cout<<"Введите кол-во чисел на отрезке --> ";
cin>>q;
int *a=new int[q];
for(int j=0;j<q;j++)
    {cout<<"Введите число #"<<j+1<<" --> ";
cin>>a[j];}
 
 
 
for(int i=0;i<q;i++)
for(int z=0;z<q;z++)
    if(a[i]-a[z]==2)
    {cout<<"Числа близницы "<<a[i]<<" и "<<a[z]<<endl;}
    delete [] a;
cin.get();
cin.get();
return 0;
}
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
24.09.2011, 19:26  [ТС]     Близнецы на заданном отрезке #7
спасибо большое, очень помогли)
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
27.09.2011, 20:19  [ТС]     Близнецы на заданном отрезке #8
вот, что я написал, помогите мне отредактировать, выдает ошибки
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
36
37
38
#include <iostream>
#include <cmath>
using namespace std;
int a,b,x,y,i;
double w,e;
int main()
{
cout<<"vvedite a i b"<<endl;
cin>>a;
cin>>b;
while ((a+2)<b)
{
    x=0;
    y=0;
    i=1;
    w=(sqrt(a));
    e=(sqrt(a+2));
    while (i<=w)&&(x==0))
    {
        i=i+1;
        if ((a%i)==0)
            x=1;
    }
    if (x==0)
    {
    while (i<=e)&&(x==0))
    {
        i=i+1;
        if (((a+2)%i)==0)
            y=1;
    }
    }
    if ((x==0)&&(y==0))
      cout<<a<<" "<<a+2<<endl;
    a=a+2;
}
return 0;
}
Добавлено через 52 минуты
11111
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
27.09.2011, 20:52     Близнецы на заданном отрезке #9
Day, N что за параметр?
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
27.09.2011, 23:39  [ТС]     Близнецы на заданном отрезке #10
у меня нет параметра N

Добавлено через 2 часа 35 минут
так кто-нибудь поможет с моей прогой/?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
27.09.2011, 23:53     Близнецы на заданном отрезке #11
Алексей_123,
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
36
37
38
39
40
#include <iostream>
#include <cstdlib>
#include <ctime>
 
bool prime(int num);
int main()
{
    srand(time(NULL));
    int a,b;
    std::cout<<"Enter a -> ";
    std::cin>>a;
    std::cout<<"Enter b -> ";
    std::cin>>b;
     for(int i=a; i<b; i++)
      {
          if(prime(i)&&prime(i+2))
          {
              std::cout<<i<<" and "<<i+2<<"\n";
          }
      }
    system("pause");
    return 0;
}
// prime number
 
bool prime(int num)
{
    if(num==0 || num==1)
    {
        return false;
    }
    for(int i=2; i<=num/2; i++)
    {
        if(!(num%i))
        {
            return false;
        }
    }
   return true;
}

Не по теме:

Немного взял из второго поста!

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 17:06     Близнецы на заданном отрезке
Еще ссылки по теме:

C++ Отобрать целые значения переменной на заданном отрезке
Вычислить значения функции на заданном отрезке с заданной точностью C++
C++ Определить, есть ли среди чисел в заданном интервале близнецы (простые числа, разница между которыми = 2)

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

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
28.09.2011, 17:06     Близнецы на заданном отрезке #12
Цитата Сообщение от Алексей_123 Посмотреть сообщение
у меня нет параметра N

Добавлено через 2 часа 35 минут
так кто-нибудь поможет с моей прогой/?
функция bool prim(N), это функция, которую вы должны написать для "установления простоты" числа, в качестве параметра ей передается число, если оно простое, то функция должна возвратить true иначе false вот пример. доведите до ума и будет вам пиченько.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for(int i = 3; i <= limit_of_search - 2 /* максимальное значение отрезка */; i += 2){
      if (prim(i) && prim(i + 2)) std::cout << "эврика" << std::endl;
}
 
bool prim (int N){
      bool c = true;
      for (int i = 2; i < N; ++i)
            if (!(N % i)){
                  c = false;
                  break;
            }
      return c;
}
Добавлено через 17 часов 0 минут
111111
Алексей_123, телепатов нет. растолкуйте
Yandex
Объявления
28.09.2011, 17:06     Близнецы на заданном отрезке
Ответ Создать тему
Опции темы

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