- toc {:toc}
λ¬Έμ
M μ΄μ N μ΄νμ μμλ₯Ό λͺ¨λ μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ μμ°μ M κ³Ό N μ΄ λΉ μΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. (1 β€ M β€ N β€ 1,000,000)Β M μ΄μ N μ΄νμ μμκ° νλ μ΄μ μλ μ λ ₯λ§ μ£Όμ΄μ§λ€.
μΆλ ₯
ν μ€μ νλμ©, μ¦κ°νλ μμλλ‘ μμλ₯Ό μΆλ ₯νλ€.
μΆμ²:https://www.acmicpc.net/problem/1929
μλΌν μ€ν λ€μ€μ 체
- λ°°μ΄μ μμ±νλ€. (+ λ°°μ΄ μ΄κΈ°ν μ½λμμλ false λ‘ μ΄κΈ°ν)
- 0 κ³Ό 1 μ μμκ° μλκΈ° λλ¬Έμ μ μΈ
- 2 λ μμμ΄κ³ μ΄ν 2 μ λ°°μλ μμκ° μλκΈ° λλ¬Έμ μ μΈ
- μ΄μ κ°μ΄ μμλ₯Ό μ½μλ‘ κ°μ§κ³ μλ μλ€μ μ μΈ
- μμλ₯Ό μ μ νλ λ²μλ N μ μ κ³±κ·ΌμΌλ‘ νμ
#include <iostream>
using namespace std;
int main()
{
bool arr[1000001];
int M, N;
cin >> M >> N;
arr[0] = arr[1] = true;
for (int i=2; i*i<=N; i++)
{
if (!arr[i])
{
for (int j = i * 2; j <= N; j += i)
arr[j] = true;
}
}
for (int i = M; i <= N; i++)
{
if (!arr[i])
cout << i << '\n';
}
return 0;
}