Problem Solving

[BaekJoon] 2960번 에라토스테네스의 체(Kotlin)

JoonYong 2024. 1. 25. 23:27
반응형

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

 

2960번: 에라토스테네스의 체

2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다.

www.acmicpc.net


1. 문제

고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법. 이 방법은 마치 로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 부른다


2. 풀이

import java.util.*

fun main(){
    val sc = Scanner(System.`in`)
    var n = sc.nextInt()
    var k = sc.nextInt()

    var arr = BooleanArray(n+1){false}
    var cnt = 0

    loop@ for(i in 2..n ){
        for(j in i .. n step i){
            if(!arr[j]){
                arr[j] = true
                cnt++
                
                if(cnt == k){
                    println(j)
                    break@loop
                }
            }
        }
    }
}
반응형