Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€/Algorithm

[Eric's ๋ฐฑ์ค€] 6588๋ฒˆ - ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก - Java

Eric_ko 2023. 2. 16. 09:40

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค!

์˜ค๋Š˜ ์ œ๊ฐ€ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก

๋ฐฑ์ค€ 6558๋ฒˆ ์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฌธ์ œ ์—ญ์‹œ '์†Œ์ˆ˜'๋ฅผ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผํ•˜๋Š”๋ฐ์š”,

 

์ด๋•Œ ์ €๋Š” ์†Œ์ˆ˜๋ฅผ ๊ตฌํ• ๋•Œ,

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ๋ฅผ ์ด์šฉํ•ด์„œ ์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„์„ํ•˜๊ณ ,

ํ•ด๋‹น ๋‚ด์šฉ์„ ์ด๋ฏธ max๊ฐ’์˜ ํฌ๊ธฐ์˜ isPrime[] ๋ฐฐ์—ด์— ๋„ฃ์€๋‹ค์Œ์—

(๋ฏธ๋ฆฌ ๋ฐฐ์—ด์„ ๊ตฌํ•ด๋†“๊ณ  ์ง„ํ–‰ํ•œ ์ด์œ ๋Š”, ๋งŒ์•ฝ ๋‹ค๋ฅธ ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ๋•Œ๋งˆ๋‹ค ๋ฐฐ์—ด์„ ๊ตฌํ•ด์„œ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋” ๋†’์•„์งˆ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.)

 

isPrime[]์ด๋ผ๋Š” ๋ฐฐ์—ด์„ ์ด์šฉํ•ด์„œ ์ด๋ฏธ ์™„์„ฑ๋œ ์†Œ์ˆ˜์˜ ๋ชจ์ž„์—์„œ

๋‹ค์‹œ for๋ฌธ์„ ํ†ตํ•ด์„œ ๋Œ๋ฉด์„œ

์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก ๋‚ด์šฉ์ด ๋‚˜์˜ค๋Š”

๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ๋์ด ๋‚ฉ๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : ์œ„ํ‚คํ”ผ๋””์•„

 

์ฝ”๋“œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class N6588 {
static final int MAX = 1000000;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
boolean isPrime[] = new boolean[MAX];
//์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ๋ฐฉ์‹์œผ๋กœ ๋ฏธ๋ฆฌ ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•ด๋†“๊ธฐ.
isPrime[0] = isPrime[1] = true; // ์†Œ์ˆ˜๋Š” false
for (int i = 2; i < isPrime.length; i++) {
if (!isPrime[i]) {
for (int j = i + i; j < isPrime.length; j += i) {
isPrime[j] = true;
}
}
}
//์ž…๋ ฅ๋œ ๊ฐ’์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฒฐ๊ณผ ์ถœ๋ ฅํ•˜๊ธฐ
int n = Integer.parseInt(br.readLine());
while (n != 0) {
boolean isGoldbach = false;
for (int i = 2; i <= n / 2; i++) {
if (!isPrime[i] && !isPrime[n - i]) {
System.out.println(n + " = " + i + " + " + (n - i));
isProve = true;
break;
}
}
if (!isGoldbach) {
System.out.println("Goldbach's conjecture is wrong.");
}
n = Integer.parseInt(br.readLine());
}
br.close();
}
}
view raw N6588.java hosted with โค by GitHub

 

Solved.ac ํ”„๋กœํ•„