๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘ฉ‍๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ

[BOJ/6588/C++] ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก

by kekeyo 2025. 6. 22.
728x90

๐Ÿ‘€ ๋ฌธ์ œ

 

[๋ฌธ์ œ ์š”์•ฝ]

n = a + b (a, b -> ํ™€์ˆ˜ ์†Œ์ˆ˜)
- ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€: b - a ๊ฐ€ ๊ฐ€์žฅ ํฐ ๊ฒƒ
- ์—†์œผ๋ฉด : "Goldbach's conjecture is wrong." ์ถœ๋ ฅ


๐Ÿ“ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

  1. ์†Œ์ˆ˜๋ฅผ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ ๋ฏธ๋ฆฌ ๋ฐฐ์—ด์— ๊ตฌํ•ด๋†“๋Š”๋‹ค.
  2. b - a๊ฐ€ ๊ฐ€์žฅ ํฐ ๊ฒƒ (= a๊ฐ€ ์ž‘์€ ๊ฒƒ)
    ์ด๋ฏ€๋กœ a๋ฅผ 3 ์—์„œ๋ถ€ํ„ฐ n / 2๊นŒ์ง€ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ๊ตฌํ•œ๋‹ค.
    (2๋„ ์†Œ์ˆ˜์ด์ง€๋งŒ ๋ฌธ์ œ์—์„œ ํ™€์ˆ˜ ์†Œ์ˆ˜๋ผ๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ..., ๊ฐ™์€ ์˜๋ฏธ๋กœ a๋Š” ํ™€์ˆ˜๋งŒ ๊ฒ€์‚ฌํ•œ๋‹ค.)
  3. a, b๊ฐ€ ๋‘˜ ๋‹ค ์†Œ์ˆ˜์ผ ๊ฒฝ์šฐ์— n = a + b๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , found ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฐธ์œผ๋กœ ํ•œ ํ›„ ํ•ด๋‹น ๋ฐ˜๋ณต๋ฌธ์—์„œ ๋น ์ ธ๋‚˜์˜จ๋‹ค.
  4. ๋ฐ˜๋ณต๋ฌธ์„ ๋‹ค ๋ˆ ์ดํ›„์— found ํ”Œ๋ž˜๊ทธ๊ฐ€ false ์ผ ๊ฒฝ์šฐ "Goldbach's conjecture is wrong." ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 

 


๐Ÿ˜Ž ํ•ด๊ฒฐ ์ฝ”๋“œ

#include <iostream>
#include <vector>
#define MAX 1000000
using namespace std;

vector<bool> isPrime(MAX + 1, true); 

void sieve() {
    isPrime[0] = isPrime[1] = false;

    for (int i = 2; i * i <= MAX; i++) {
        if (isPrime[i]) {
            for (int j = i + i; j <= MAX; j += i) {
                isPrime[j] = false;
            }
        }
    }
}

int main(void) {
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    sieve();

    while (true) {
        int n; cin >> n;
        if (n == 0) break;

        bool found = false;

        for (int a = 3; a <= n / 2; a += 2) {
            int b = n - a;
            if (isPrime[a] && isPrime[b]) {
                cout << n << " = " << a << " + " << b << '\n';
                found = true;
                break;
            }
        }

        if (!found) {
            cout << "Goldbach's conjecture is wrong." << '\n';
        }
    }
}

 


โš ๏ธ ํ‹€๋ฆฌ๊ฑฐ๋‚˜ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ ์ด์œ 

์ข€ ๋งŽ์ด ํ‹€๋ ธ๋Š”๋ฐ..

๊ทธ๋ƒฅ ์Šต๊ด€์ ์œผ๋กœ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ isPrime ํ•จ์ˆ˜๋กœ ๋งค๋ฒˆ ์†Œ์ˆ˜๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์งœ์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค

 

์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•ด์•ผ ํ•˜๋Š” ๋Œ€์ƒ์ด ๋งŽ์„ ๋•Œ์—๋Š” ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์‚ฌ์šฉํ•˜๊ธฐ...~


๐Ÿ“š ๋ฐฐ์šด ์ 

- ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

728x90