-
[백준] 1929번 소수 구하기 (JAVA)Algorithm 2020. 5. 19. 13:47728x90
문제
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
예제 입력1
3 16
예제 출력1
3
5
7
11
13
코드
import java.util.Scanner; public class no_1929 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int M = sc.nextInt(); int N = sc.nextInt(); boolean[] arr = new boolean[N + 1]; for(int i=2; i<=N; i++) { arr[i] = true; } for(int i=2; i*i<=N; i++){ if(arr[i]) { for(int j=i*i; j<=N; j+=i) { arr[j] = false; } } } for(int i=M+1; i<=N; i++) { if(arr[i]) { System.out.println(i); } } } }
728x90'Algorithm' 카테고리의 다른 글
[백준] 9020번 골드바흐의 추측 (JAVA) (0) 2020.05.19 [백준] 1929번 베르트랑 공준 (0) 2020.05.19 [백준] 2581번 소수 (JAVA) (0) 2020.05.18 [백준] 1978번 소수 찾기 (JAVA) (0) 2020.05.17 [백준] 1011번 Fly me to the Alpha Centauri (JAVA) (0) 2020.05.17