01-09 04:37
Recent Posts
Recent Comments
Tags
- ํ์ด์๊ณต๋ชจ์
- Naver Cloud
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- ์จ์ผ๋ํ
- Java
- TSQL
- ํ์ด์ฌ
- DB
- API๋ง์ผํ๋ ์ด์ค
- ์ด๋ธ์
- JOBํ๊ณ
- SQL
- ์กํ๊ณ
- DATABASE
- ์๋์ด๋ ธ
- Spring
- ICT๋ฉํ ๋ง
- ICT
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- linux
- ํ๋ก๋ณด๋ ธ
- ์คํฝ์ค๋น
- RaspberryPi
- mysql
- ์๋ฐ
- appetizer
- ์คํฝ๋ ํ
- python
- ict๊ณต๋ชจ์
- ํ์ด์
- Today
- Total
miinsun
[BAEKJOON] ๋ฐฑ์ค ๊ธฐ๋ณธ ์ํ 2 4948 :: ๋ฒ ์คํธ๋ ๊ณต์ค ๋ณธ๋ฌธ
Algorithm/Baekjoon
[BAEKJOON] ๋ฐฑ์ค ๊ธฐ๋ณธ ์ํ 2 4948 :: ๋ฒ ์คํธ๋ ๊ณต์ค
miinsun 2022. 4. 11. 13:31
๐ฌ ๋ฌธ์ ์ค๋ช
๋ฒ ๋ฅดํธ๋ ๊ณต์ค์ ์์์ ์์ฐ์ n์ ๋ํ์ฌ, n๋ณด๋ค ํฌ๊ณ , 2n๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์๋ ์ ์ด๋ ํ๋ ์กด์ฌํ๋ค๋ ๋ด์ฉ์ ๋ด๊ณ ์๋ค.
์ด ๋ช ์ ๋ ์กฐ์ ํ ๋ฒ ๋ฅดํธ๋์ด 1845๋ ์ ์ถ์ธกํ๊ณ , ํํ๋ํฐ ์ฒด๋น์ผํ๊ฐ 1850๋ ์ ์ฆ๋ช ํ๋ค.
์๋ฅผ ๋ค์ด, 10๋ณด๋ค ํฌ๊ณ , 20๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์๋ 4๊ฐ๊ฐ ์๋ค. (11, 13, 17, 19)
๋, 14๋ณด๋ค ํฌ๊ณ , 28๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์๋ 3๊ฐ๊ฐ ์๋ค. (17,19, 23)
์์ฐ์ n์ด ์ฃผ์ด์ก์ ๋, n๋ณด๋ค ํฌ๊ณ , 2n๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ
- ์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ๊ฐ ์ผ์ด์ค๋ n์ ํฌํจํ๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ์ ๋ ฅ์ ๋ง์ง๋ง์๋ 0์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
- ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์, n๋ณด๋ค ํฌ๊ณ , 2n๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์ ํ
- 1 ≤ n ≤ 123,456
์์ ์ ๋ ฅ 1)
1
10
13
100
1000
10000
100000
0
์์ ์ถ๋ ฅ 1)
1
4
3
21
135
1033
8392
โ
๐ป Main.java
- ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ก ์ ๋ฒ์(1 ~ 123,456 * 2)์ ์์๋ฅผ ํ๋ณํด์ค๋ค.
- '0'์ด ์ ๋ ฅ๋๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํด์ค๋ค.
/* ๋ฐฑ์ค ๊ธฐ๋ณธ ์ํ 2 - 4948 :: ๋ฒ ๋ฅดํธ๋ ๊ณต์ค */
import java.io.*;
public class Main {
public static boolean[] prime;
// ์๋ผํ ์คํ
๋ค์ค์ ์ฒด : ์์ ๊ตฌํ๊ธฐ
public static void isDecimal() {
// true = ์์ ์๋ , false = ์์
prime[0] = prime[1] = true;
// ์ ๊ณฑ๊ทผ๊น์ง ๋ฐ๋ณต
for(int i = 2; i <= Math.sqrt(prime.length); i++) {
if(prime[i]) continue;
for(int j = i * i; j < prime.length; j += i) {
prime[j] = true;
}
}
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
prime = new boolean[(123456 * 2) + 1];
// ์ ๋ฒ์์ ์์ ์ ๋ฌด ๊ตฌํ๊ธฐ
isDecimal();
StringBuilder sb = new StringBuilder();
while(true) {
int n = Integer.parseInt(br.readLine());
// 0์ด ์
๋ ฅ๋๋ฉด ์ข
๋ฃ
if(n == 0) break;
int cnt = 0;
for(int i = n + 1; i <= 2 * n; i++) {
if(!prime[i]) cnt++;
}
sb.append(cnt).append('\n');
}
System.out.println(sb);
br.close();
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] ๋ฐฑ์ค ๋ธ๋ฃจํธ ํฌ์ค 7568 :: ๋ฉ์น (0) | 2022.04.11 |
---|---|
[BAEKJOON] ๋ฐฑ์ค ๊ธฐ๋ณธ ์ํ 2 9020 :: ๊ณจ๋๋ฐํ์ ์ถ์ธก (0) | 2022.04.11 |
[BAEKJOON] ๋ฐฑ์ค ๋ถํ ์ ๋ณต 2448 :: ๋ณ ์ฐ๊ธฐ - 11 (0) | 2022.04.10 |
[BAEKJOON] ๋ฐฑ์ค ๋ถํ ์ ๋ณต 2447 :: ๋ณ ์ฐ๊ธฐ - 10 (0) | 2022.04.10 |
[BAEKJOON] ๋ฐฑ์ค ๋ถํ ์ ๋ณต 1992 :: ์ฟผ๋ํธ๋ฆฌ (0) | 2022.04.10 |
Comments