https://www.acmicpc.net/problem/2960
2960번: 에라토스테네스의 체
2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다.
www.acmicpc.net
해석 및 팁
이 문제는 이중 for문을 통해 ArrayList에 존재하지 않으면 n보다 작은 i의 배수를 저장시킨 다음 리스트에서 k-1번째 값을 출력해 주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
ArrayList<Integer> list = new ArrayList<>();
int n = sc.nextInt();
int k = sc.nextInt();
for(int i = 2; i <= n; i++) {
int count = 1;
while(i * count <= n) {
if(list.contains(i * count)) count++;
else {
list.add(i * count);
count++;
}
}
}
System.out.print(list.get(k-1));
}
}
'백준' 카테고리의 다른 글
백준 9613 GCD 합(Java) (0) | 2023.01.27 |
---|---|
백준 3036 링(Java) (0) | 2023.01.27 |
백준 11656 접미사 배열(Java) (0) | 2023.01.27 |
백준 10825 국영수(Java) (0) | 2023.01.27 |
백준 10610 30(Java) (1) | 2023.01.27 |