문제

M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.

출력

한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.

예제 입력 1

3 16

예제 출력 1

3
5
7
11
13

더보기

Solution

#include<stdio.h>

int isPrime(int N)
{
	if(N==2)
		return 1;
	else if(N==1 || N%2==0)
		return 0;
	for(int i=3;i*i<=N;i+=2)
		if(N%i==0)
			return 0;
	return 1;
}

int main(void)
{
	int M, N;

	scanf("%d %d", &M, &N);

	for(int i=M;i<=N;i++)
		if(isPrime(i))
			printf("%d\n", i);

	return 0;
}
728x90

+ Recent posts