λ¬Έμ
μμ°μ Mκ³Ό Nμ΄ μ£Όμ΄μ§ λ Mμ΄μ Nμ΄νμ μμ°μ μ€ μμμΈ κ²μ λͺ¨λ κ³¨λΌ μ΄λ€ μμμ ν©κ³Ό μ΅μκ°μ μ°Ύλ νλ‘κ·Έλ¨μ μμ±νμμ€. μλ₯Ό λ€μ΄ M=60, N=100μΈ κ²½μ° 60μ΄μ 100μ΄νμ μμ°μ μ€ μμλ 61, 67, 71, 73, 79, 83, 89, 97 μ΄ 8κ°κ° μμΌλ―λ‘, μ΄λ€ μμμ ν©μ 620μ΄κ³ , μ΅μκ°μ 61μ΄ λλ€.
μ
λ ₯
μ
λ ₯μ 첫째 μ€μ Mμ΄, λμ§Έ μ€μ Nμ΄ μ£Όμ΄μ§λ€. Mκ³Ό Nμ 10,000μ΄νμ μμ°μμ΄λ©°, Mμ Nλ³΄λ€ μκ±°λ κ°λ€.
μΆλ ₯
Mμ΄μ Nμ΄νμ μμ°μ μ€ μμμΈ κ²μ λͺ¨λ μ°Ύμ 첫째 μ€μ κ·Έ ν©μ, λμ§Έ μ€μ κ·Έ μ€ μ΅μκ°μ μΆλ ₯νλ€.Β λ¨, Mμ΄μ Nμ΄νμ μμ°μ μ€ μμκ° μμ κ²½μ°λ 첫째 μ€μ -1μ μΆλ ₯νλ€.
μμ
β
μ
λ ₯ 1
β
μΆλ ₯ 1
β
μ
λ ₯ 2
β
μΆλ ₯ 2
μμ± μ½λ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
static int[] primeArr;
public static void main(String[] args) throws IOException {
// 1. λ³μ μ μΈ λ° μ΄κΈ°ν
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int m = Integer.parseInt(br.readLine());
int n = Integer.parseInt(br.readLine());
int result = 0;
int minValue = 0;
// 2. μ²λ¦¬
makePrimeArr(n);
for (int i = m; i <= n; i++) {
if (primeArr[i] == 1) {
result += i;
if (minValue == 0) minValue = i;
}
}
// 3. μΆλ ₯
if (result == 0) {
System.out.println(-1);
} else {
System.out.println(result);
System.out.println(minValue);
}
}
static void makePrimeArr(int num) {
// λ°°μ΄ μ΄κΈ°ν
primeArr = new int[num + 1];
Arrays.fill(primeArr, 1);
primeArr[0] = primeArr[1] = 0;
// μλΌν μ€ν
λ€μ€μ 체
for (int i = 2; i <= num; i++) {
if (primeArr[i] == 0) continue;
for (int j = i * 2; j <= num; j += i) primeArr[j] = 0;
}
}
}
|
νκ³
- νμ λ¬Έμ λ₯Ό ν λ ꡬ체μ μΈ μκ° μμ΄ λ¨Έλ¦¬λ‘λ§ μμλλ λ°©λ²μ 그리곀 νλλ° κ°λ₯ν λ¬Έμ λ₯Ό μκ² μͺΌκ°λ €κ³ ν΄λ³΄μμΌλ©°, λ€λ₯Έ λ¬Έμ λ₯Ό ν λμλ μ΄λ° λ°©μμΌλ‘ μ κ·Όν΄λ³΄κ³ μ νλ€.
M
μ΄μ N
μ΄νμ μμ°μλ₯Ό μννμ¬ μμμ ν©κ³Ό μ΅μκ°μ μΆλ ₯νλ λ©μΈ λ‘μ§κ³Ό μμλ₯Ό νλ³νλ μλΈ λ‘μ§ 2κ°λ‘ λλμλ€.- μλΌν μ€ν
λ€μ€μ 체λ₯Ό ν΅ν΄ λ°°μ΄ κ΅¬μ±μ ν λ²λ§ νκ³ μ΄νμλ νμ©λ§ νλ©΄ λλ€λ μ μ μ΄ν΄νλ€.