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

Найдите все числа близнецы на интервале от а до b - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Ayur
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 13
31.05.2012, 04:55     Найдите все числа близнецы на интервале от а до b #1
Найдите все числа близнецы на интервале от а до b. Близнецы - два нечетных простых числа, разнящихся на две единицы, например: 5 и 7, 11 и 13, 17 и 19 и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2012, 04:55     Найдите все числа близнецы на интервале от а до b
Посмотрите здесь:

Необходимо найти все простые числа в интервале C++
Существуют натуральные числа равные сумме кубов своих цифр. Найдите такие числа в заданном интервале C++
Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N-1, у которых произведение цифр совпадает с произведением цифр данного числа C++
C++ Вывести все нечетные числа в заданном интервале
Вывести все числа Армстронга в заданном интервале C++
C++ Получить все простые числа в заданном интервале
C++ Заполнить массив случайными числами в интервале [0;5]. Введите число x и найдите все значения, равные x
C++ Определить, есть ли среди чисел в заданном интервале близнецы (простые числа, разница между которыми = 2)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chainik!
1 / 1 / 1
Регистрация: 10.11.2008
Сообщений: 43
31.08.2012, 21:58     Найдите все числа близнецы на интервале от а до b #2
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 "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
//-------------------------------------------------
bool pr(int n)
{
    bool b = true;
    for(int i = 2; i < n; i++)
    {
        if(n % i == 0)
            b = false;
    }
    return b;
}
//-------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
    const int n = 10;
    int arr[n];
    cout << "Massiv imeet vid: ";
    for(int i = 0; i < n; i++)
    {
        arr[i] = i;
        cout << arr[i] << " ";
    }
    cout << "\n\n";
    for(int i = 2; i < n; i++)
    {
        for(int j = 2; j < n; j++)
            if(pr(arr[i]) && (arr[i] - arr[j] == 2))
            {
                cout << arr[j] << "  " << arr[i] << endl;
            }
    }
    _getch();
    return 0;
}
Добавлено через 10 минут
Вот так будет точнее

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
41
42
43
44
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
//-------------------------------------------------
bool pr(int n)
{
    bool b = true;
    for(int i = 2; i < n; i++)
    {
        if(n % i == 0)
            b = false;
    }
    return b;
}
//-------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, "russian");
    const int n = 100;
    int arr[n];
    cout << "Массив имеет вид: ";
    for(int i = 0; i < n; i++)
    {
        arr[i] = i;
        cout << arr[i] << " ";
    }
    cout << "\n\nПростые числа, разность между которыми равна 2:\n\n";
    for(int i = 2; i <= n; i++)
    {
        for(int j = 2; j <= n; j++)
        {
            if(pr(arr[i]) && pr(arr[j]))
            {
                if((arr[i] - arr[j] == 2))
                {
                    cout << arr[j] << "  " << arr[i] << endl;
                }
            }
        }
    }
    _getch();
    return 0;
}
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
01.09.2012, 00:42     Найдите все числа близнецы на интервале от а до b #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
using namespace std;
 
int main(void)
{
    int a, b;
    cout << "input a: "; cin >> a;
    cout << "input b: "; cin >> b;
    for (int i = a + !(a & 1), t = 0; i <= b; i += 2)   
    {
        bool f = i > 1;
        for(int j = 3; f && j <= sqrt(i); j += 2)
            if (i % j == 0)
                f = false;
        if (f && t == i - 2)
            cout << t << ' ' << i << endl;
        t = i * f;  
    }
    return 0;
}
http://liveworkspace.org/code/e04750...c2559a010d611a
Yandex
Объявления
01.09.2012, 00:42     Найдите все числа близнецы на интервале от а до b
Ответ Создать тему
Опции темы

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