[λ°°μ΄] 5. μμ(μλΌν μ€ν λ€μ€ 체)
μ€λͺ
μμ°μ Nμ΄ μ λ ₯λλ©΄ 1λΆν° NκΉμ§μ μμμ κ°μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
λ§μ½ 20μ΄ μ λ ₯λλ©΄ 1λΆν° 20κΉμ§μ μμλ 2, 3, 5, 7, 11, 13, 17, 19λ‘ μ΄ 8κ°μ λλ€.
μ λ ₯
첫 μ€μ μμ°μμ κ°μ N(2<=N<=200,000)μ΄ μ£Όμ΄μ§λλ€.
μΆλ ₯
첫 μ€μ μμμ κ°μλ₯Ό μΆλ ₯ν©λλ€.
μμ μ λ ₯ 1
20
μμ μΆλ ₯ 1
8
<<νμ΄>>
μ΄ λ¬Έμ λ μ¬μ€ λ Έκ°λ€νλ©΄ λ°λ‘ ν μλ μμ§λ§ μκ° λ³΅μ‘λκ° N^2μΌλ‘ μμ² μ»€μ§κ³ λλ €μ§λ κ²½ν₯μ΄ μλ€. μ¦, μ½λ©ν μ€νΈ μ±μ μ μκ°μ΄κ³Όλ‘ μ μκ° κΉμΈλ€.
κ·Έλμ μ΄ λ¬Έμ λ μλΌν μ€ν λ€μ€ 체 λΌλ λ°©μμ μ΄μ©νλ€.
μ¦ 20κΉμ§μ μκ° μλ€λ©΄ 1μ μ μΈνκ³ 2λΆν°ν΄μ μκΈ° μμ μ μ μΈνκ³ λλμ΄ μ κ±° μμΌλκ°λ©΄μ μ΅μ’ μ μΌλ‘ μ κ±° λμ§ μμ κ°―μκ° μμ μμ μ΄μ©νλ κ²μ΄λ€.
μ΄λ₯Ό μ½λλ‘ λ€λ£¨λ©΄
import java.util.Scanner;
class Main {
public int soltuion(int n) {
int answer = 0;
int[] ch = new int[n + 1];
for (int i = 2; i <= n; i++) {
if (ch[i] == 0) {
answer++;
for (int j = i; j <= n; j = j + i) ch[j] = 1;
}
}
return answer;
}
public static void main (String[]args){
Main T = new Main();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(T.soltuion(n));
}
}
2 λΆν° μμν΄μ 2μ λ°°μλ 1λ‘ λ°κΎΈκ³ 3μ λ°°μλ 1λ‘ λ°κΎΌλ€. μ΄λ 4μ λ°°μλ 2μ λ°°μκ° μ΄λ―Έ 1λ‘ λ§λ€μ΄ λ¨κΈ° λλ¬Έμ νμκ° μλ€.
κ·Έλ¬λ©΄μ, 0μ΄ λμ¬ λ answer κ°μ μ¦κ°μν¨λ€.
μ΄ λ¬Έμ μ νλ¦μ μ νμ νμ.
'μ½λ©ν μ€νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°°μ΄] 7. μ μ κ³μ° (1) | 2023.12.17 |
---|---|
[λ°°μ΄] 6. λ€μ§μ μμ (2) | 2023.12.17 |
[λ°°μ΄] 4. νΌλ³΄λμΉ μμ΄ (1) | 2023.12.12 |
[λ°°μ΄] 3. κ°μ λ°μ 보 (0) | 2023.12.12 |
[λ°°μ΄] 2. 보μ΄λ νμ (0) | 2023.12.10 |
λκΈ