Решение задачи "Гипотеза Гольдбаха - 2 " с Acmp

Без пояснения   Просмотров: 29


Гипотеза Гольдбаха гласит, что любое четное число большее двух представимо в виде суммы двух простых чисел. Она является одной из самых старых нерешенных задач математики. На март 2004 года, гипотеза Гольдбаха проверена для всех четных чисел, больших 2 и не превышающих 1017.

Ваша задача будет несколько более общей. Задано число x. Необходимо найти число способов представить его в виде суммы ровно двух простых чисел (представления, отличающиеся порядком слагаемых, следует считать одинаковыми).

Напомним, что простым называется натуральное число, большее единицы и делящееся только на единицу и на само себя.

Код

#include <bits/stdc++.h>

using namespace std;
bool isOdd(int n)
{
    for(int i = 2; i <= sqrt(n); ++i)
        if(n % i == 0)
            return 0;
    return 1;
}
int main()
{
    int n, k = 0;
    cin >> n;
    vector<int> a;
    for(int i = 2; i <= n; ++i){
        if(isOdd(i))
            a.push_back(i);
    }
    for(int i = 0; i < a.size(); ++i){
        for(int j = i; j < a.size(); ++j){
            if(a[i] + a[j] == n)
                ++k;
        }
    }
    cout << k;
    return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться