Tags
- ์๋ฃ๊ตฌ์กฐ
- BFS
- ๋๋น ์ฐ์ ํ์
- queue
- BOJ
- Java
- greedy
- ๊ตฌํ
- Study
- Dynamic Programming
- Python
- ์ ์๋ก
- CodingTest
- stack
- ์๋ฎฌ๋ ์ด์
- ์ํ
- LV2
- ์ ๋ ฌ
- DP
- ๋ฌธ์์ด
- dfs
- ๊ทธ๋ํ ์ด๋ก
- ๋ฐฑํธ๋ํน
- ๊น์ด ์ฐ์ ํ์
- Brute Force Algorithm
- PGM
- SpringBoot
- sort
- ๊ต์ฌ
- ๊ทธ๋ํ ํ์
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1456 : ๊ฑฐ์ ์์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ด๋ค ์์์ N์ ๊ณฑ (N>2)์ ์๋ฅผ ๊ฑฐ์ ์์๋ผ๊ณ ํ๋ค.
- A์ด์ B์ดํ์ ๊ฑฐ์ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. (1<=A<=B<=10^14)
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- 10^14 ๊น์ง์ ์์์ ๊ฑฐ์ ์์๋ฅผ ์ฐพ์ผ๋ ค๋ฉด, ๊ทธ ์ ๊ณฑ๊ทผ์ธ 10^7๊น์ง์ ์์๋ฅผ ์ฐพ์์ผ ํ๋ค.
- 10^7์ ์ ๊ณฑ์ด 10^14์ด๋ฏ๋ก, ์ ์ด๋ 10^7๊น์ง๋ ์์๋ฅผ ์ฐพ์์ผ N์ ๊ณฑ ๊ณ์ฐ์ ํ ์ ์๋ค.
- 10^7๊น์ง์ ์์๋ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ก ๊ตฌํ๋ค.
- ๊ตฌํ ๊ฐ๊ฐ์ ์์์์ N์ ๊ณฑํ ๊ฐ์ด B๋ณด๋ค ์ปค์ง ๋๊น์ง ๋ฐ๋ณตํ๋ค. ๊ทธ ์ค A๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์นด์ดํธํ๋ค.
- N์ ๊ณฑ์ ๊ฐ์ด longํ์ ์ด๊ณผํ ์ ์์ผ๋ฏ๋ก ์ดํญ ์ ๋ฆฌ๋ก ํด๊ฒฐํ๋ค
- N^k <= B ====> N <= B / N^(k-1)
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
final int MAX = 10_000_001;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
long A = Long.parseLong(st.nextToken());
long B = Long.parseLong(st.nextToken());
boolean[] pn = new boolean[MAX];
for (int i = 2; i <= Math.sqrt(MAX); i++) {
if (!pn[i]) {
int mul = 2;
while (i * mul < MAX) {
pn[i * mul++] = true;
}
}
}
int cnt = 0;
for (int i = 2; i < MAX; i++) {
if (!pn[i]) {
long n = i;
while ((double) i <= (double) B / (double) n) {
if ((double) i >= (double) A / (double) n) {
cnt++;
}
n *= i;
}
}
}
bw.write(Integer.toString(cnt));
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ก ์์๋ฅผ ๊ตฌํ๊ธฐ ์ํด boolean ๋ฐฐ์ด pn์ ๋ง๋ค์ด 10^7์ ์ ๊ณฑ๊ทผ๊น์ง ์์๋ฅผ ๊ตฌํ๋ค.
- ๊ฐ ์์์ N์ ๊ณฑ ๊ฒฐ๊ณผ๊ฐ A~B์ธ ๊ฒฝ์ฐ๋ฅผ ์นด์ดํธํ๋ค.
- N์ ๊ณฑ ๊ฒฐ๊ณผ์์ longํ์ ๋์ ์ ์์ผ๋ฏ๋ก ์ดํญ ์ ๋ฆฌ๋ฅผ ํตํด ๋น๊ตํ๋ค.
- ์นด์ดํธ๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์๋ผํ ์คํ
๋ค์ค์ ์ฒด๋ ์ต์ํ๋ฐ, ์ดํญ ์ ๋ฆฌ์ ๋ํ ์์ด๋์ด๊ฐ ์์ํ๋ ๋ฌธ์ ์๋ค.
- longํ์ ๋๋๋ค๋ ๊ณ์ฐ์ด ์์ํ๊ธฐ ํ๋ค์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1016 : ์ ๊ณฑ ใดใด ์ (0) | 2024.02.20 |
---|---|
BOJ_1747 : ์์&ํฐ๋ฆฐ๋๋กฌ (0) | 2024.02.20 |
BOJ_11444 : ํผ๋ณด๋์น ์ 6 (0) | 2024.02.12 |
BOJ_1744 : ์ ๋ฌถ๊ธฐ (0) | 2024.02.11 |
BOJ_1715 : ์นด๋ ์ ๋ ฌํ๊ธฐ (0) | 2024.02.11 |