• toc {:toc}

๋ฌธ์ œ

M์ด์ƒ N์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ M๊ณผ N์ด ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค M โ‰ค N โ‰ค 1,000,000)ย M์ด์ƒ N์ดํ•˜์˜ ์†Œ์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ๋Š” ์ž…๋ ฅ๋งŒ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ, ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์†Œ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ถœ์ฒ˜:https://www.acmicpc.net/problem/1929

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

  1. ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. (+๋ฐฐ์—ด ์ดˆ๊ธฐํ™” ์ฝ”๋“œ์—์„œ๋Š” false๋กœ ์ดˆ๊ธฐํ™”)
  2. 0๊ณผ 1์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธ
  3. 2๋Š” ์†Œ์ˆ˜์ด๊ณ  ์ดํ›„ 2์˜ ๋ฐฐ์ˆ˜๋Š” ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธ
  4. ์ด์™€ ๊ฐ™์ด ์†Œ์ˆ˜๋ฅผ ์•ฝ์ˆ˜๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆ˜๋“ค์„ ์ œ์™ธ
  5. ์†Œ์ˆ˜๋ฅผ ์„ ์ •ํ•˜๋Š” ๋ฒ”์œ„๋Š” 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;
}