[C언어/C++] 9020: 골드바흐의 추측

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
45
46
47
48
49
#include <iostream>
 
using namespace std;
 
int PrimeNumber[10000= { 0 };                     // 값이 0이면 소수
 
bool FindPN(int);                                 //인자로 받은 값이 소수일때 1을 반환해주는 함수
int main()
{
    int T;
    cin >> T;
 
    for (size_t i = 2; i < 10000; i++)             // 2의 배수부터 9999의 배수들은 값을 증가시킴 (n * 1 은 제외)
    {
        for (size_t j = 2; i * j < 10000; j++)
        {
            PrimeNumber[i * j]++;
        }
    }
    for (size_t i = 0; i < T; i++)                      //입력 받은 값을 반띵해서 하나는 1씩 증가시키고, 하나는 1씩
    {                                                   //감소 시켜 두 값이 소수 일때 두 값을 출력
        int n;
        cin >> n;
        if (n >= 4 && n <= 10000 && (n % 2== 0)
        {
            int j = n / 2;
            int k = n / 2;
            for (size_t l = 0; l < (n / 2); l++)
            {
                if (FindPN(j) == 1 && FindPN(k) == 1)
                {
                    cout << j << ” “ << k << endl;
                    break;
                }
                else
                {
                    j;
                    k++;
                }
            }
        }
    }
    return 0;
}
bool FindPN(int n)
{
    if (PrimeNumber[n] == 0return 1;
    else return 0;
}
cs

관련글

제목 작성자 작성일