새벽의 기록

[백준 JAVA] 1929번 : 소수 구하기[자바] 본문

Algorithm

[백준 JAVA] 1929번 : 소수 구하기[자바]

OneTen 2022. 1. 17. 16:21

https://www.acmicpc.net/problem/1929

 

1929번: 소수 구하기

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

www.acmicpc.net



문제

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

입력

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

출력

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

풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		int M = scan.nextInt();
		int N = scan.nextInt();
		
		for(int i = M;i<=N;i++) {
			Number(i);
		}
		
	}
	
	public static void Number(int n) {
		
		if(n<2) return;
		
		if(n==2) {
			System.out.print(n+" ");
			return;
		}
		
		for(int i=2;i<=Math.sqrt(n);i++) {
			if(n%i==0) return;
		}
		
		System.out.print(n+" ");
		
	}
}
Comments