๋ฌธ์

์ด๋ฒ๋ฌธ์ ๋ ๋ฐฉ๊ธ์ ํ์๋ ๋ฌธ์
๋ฐฑ์ค ๊ณจ๋๋ฐํ์ ์ถ์ธก 6588๋ฒ
ํด๋น๋ฌธ์ ๋ ๋์ผํ์ง๋ง, ์ถ๋ ฅ๋ถ๋ถ์์๋ ์กฐ๊ธ ๋ค๋ฆ ๋๋ค.
์ถ๋ ฅ๋ถ๋ถ์์ 6588๋ฒ์ ์ต๋์ ์ฐจ์ด๊ฐ ๋๋๋ก ์ถ๋ ฅํ์๋ค๋ฉด,
9020๋ฒ์ ์ต์์ ์ฐจ์ด๊ฐ ๋๋๋ก ์ถ๋ ฅํ๊ณ ์์ต๋๋ค.

ํด์ค
๊ทธ๋์ ์ ๋ ์ถ๋ ฅ๋ถ๋ถ์์ for๋ฌธ์ ๋์๋ ์์์ n/2 ๋ถํฐ ์์ํด์ ๋๋๋ค.
๊ทธ ์ด์ ๋ ์ด์ฐจํผ ๊ฐ์ ํฉ์ n/2 ๋ณด๋ค ์์ ๊ฐ๋ค๋ก ๊ตฌ์ฑ๋ ํ ๋๊น์!
๊ทธ๋ ๊ฒํด์ ๋ฌธ์ ๋ฅผ ํ๊ฒ๋๋ฉด..
์ฝ๋
import java.io.BufferedReader; | |
import java.io.IOException; | |
import java.io.InputStreamReader; | |
public class N9020 { | |
static final int MAX = 1000000; | |
public static void main(String[] args) throws IOException { | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
int tc = Integer.parseInt(br.readLine()); | |
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; | |
for (int j = 0; j < tc; j++) { | |
n = Integer.parseInt(br.readLine()); | |
boolean isProve = false; | |
for (int i = n/2; i >= 2; i--) { | |
if (!isPrime[i] && !isPrime[n - i]) { | |
System.out.println(i + " " + (n - i)); | |
isProve = true; | |
break; | |
} | |
} | |
} | |
br.close(); | |
} | |
} |
์ด์ ์ค๋๋ ๋ฐฑ์ค ํ์ Eric ์ด์์ต๋๋ค.

'๐ป ๊ฐ๋ฐ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Eric's ๋ฐฑ์ค] 7569๋ฒ - ํ ๋งํ - Java ๐ ๐ (2) | 2023.02.17 |
---|---|
[Eric's ๋ฐฑ์ค] 7576๋ฒ - ํ ๋งํ - Java ๐ (2) | 2023.02.17 |
[Eric's ๋ฐฑ์ค] 6588๋ฒ - ๊ณจ๋๋ฐํ์ ์ถ์ธก - Java (0) | 2023.02.16 |
[Eric's ๋ฐฑ์ค] 1747๋ฒ - ์์&ํฐ๋ฆฐ๋๋กฌ - Java (0) | 2023.02.16 |
[Eric's ๋ฐฑ์ค] 10799๋ฒ - ์ ๋ง๋๊ธฐ - Java (0) | 2023.02.15 |