Algorithm/백준 알고리즘
백준_2960 에라토스테네스의 체(자바) / 구현
미스터로즈
2021. 8. 2. 09:07
시간&메모리 제한
문제
입력&출력
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Back_2960 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
boolean[] visited = new boolean[N + 1];
boolean flag = false;
int t = 0;
for (int i = 2; i <= N; i++) {
if(flag==true)break;
for (int j = i; j <= N; j+=i) {
if(visited[j]==false) {
t++;
visited[j]=true;
}
if(t==K) {
System.out.println(j);
flag = true;
break;
}
}
}
}
}
- N 보다 작은 소수를 찾는 알고리즘입니다.
- 방문 처리를 이용해서 중복을 방지했습니다.
- 이중 for 문을 이용해서 모든 경우를 탐색 했습니다.
- 진행하다가 원하는 시점이 오면 조건문을 통해서 출력 및 종료를 합니다.