-
백준 1929 소수 구하기 (Java)알고리즘 타파/Baekjoon Online Judge 2020. 5. 30. 01:32반응형
URL
https://www.acmicpc.net/problem/1929
문제
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
성공 코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String[] input = br.readLine().split(" "); int from = Integer.parseInt(input[0]); int to = Integer.parseInt(input[1]); int primeCount = 0; int[] prime = new int[1000000]; boolean[] check = new boolean[1000001]; for (int i=2; i<=to; i++) { if(! check[i]) { prime[primeCount++] = i; for (int j=i*2; j<=to; j+=i) { check[j] = true; } } } for (int i=0; i<primeCount; i++) { if(prime[i]>=from) { sb.append(prime[i]).append("\n"); } } System.out.println(sb); } }
반응형'알고리즘 타파 > Baekjoon Online Judge' 카테고리의 다른 글
백준 10872 팩토리얼 (Java) (0) 2020.05.30 백준 6588 골드바흐의 추측 (Java) (0) 2020.05.30 백준 1978 소수 찾기 (Java) (0) 2020.05.29 백준 1934 최소공배수 (Java) (0) 2020.05.29 백준 2609 최대공약수와 최소공배수 (Java) (0) 2020.05.29