반응형
https://www.acmicpc.net/problem/4948
4948번: 베르트랑 공준
베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼
www.acmicpc.net

import java.util.Scanner
import kotlin.math.sqrt
fun main() {
val sc = Scanner(System.`in`)
while (true){
var n = sc.nextInt()
if (n == 0){
break
}
var arr = BooleanArray(2*n+1)
arr[0] = true
arr[1] = true
var a = sqrt((2*n+1).toDouble())
for (i in 2..a.toInt()){
for (j in i*i until 2*n+1 step i) {
arr[j] = true
}
}
var cnt = 0
for (i in n+1 until 2*n+1){
if (arr[i] == false){
cnt++
}
}
println(cnt)
}
}
반응형
'Algorithm > [알고리즘]BACKJOON - Java&Kotlin' 카테고리의 다른 글
백준 Kotlin 17298번 : 오큰수 (0) | 2022.05.13 |
---|---|
백준 Kotlin 1158번 : 요세푸스 문제 (0) | 2022.05.09 |
백준 Kotlin 1463번 : 1로 만들기 (0) | 2022.05.07 |
백준 Kotlin 9020번 : 골드바흐의 추측 (0) | 2022.04.27 |
백준 Kotlin 11729번 : 하노이 탑 이동 순서 (0) | 2022.04.21 |
반응형
https://www.acmicpc.net/problem/4948
4948번: 베르트랑 공준
베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼
www.acmicpc.net

import java.util.Scanner
import kotlin.math.sqrt
fun main() {
val sc = Scanner(System.`in`)
while (true){
var n = sc.nextInt()
if (n == 0){
break
}
var arr = BooleanArray(2*n+1)
arr[0] = true
arr[1] = true
var a = sqrt((2*n+1).toDouble())
for (i in 2..a.toInt()){
for (j in i*i until 2*n+1 step i) {
arr[j] = true
}
}
var cnt = 0
for (i in n+1 until 2*n+1){
if (arr[i] == false){
cnt++
}
}
println(cnt)
}
}
반응형
'Algorithm > [알고리즘]BACKJOON - Java&Kotlin' 카테고리의 다른 글
백준 Kotlin 17298번 : 오큰수 (0) | 2022.05.13 |
---|---|
백준 Kotlin 1158번 : 요세푸스 문제 (0) | 2022.05.09 |
백준 Kotlin 1463번 : 1로 만들기 (0) | 2022.05.07 |
백준 Kotlin 9020번 : 골드바흐의 추측 (0) | 2022.04.27 |
백준 Kotlin 11729번 : 하노이 탑 이동 순서 (0) | 2022.04.21 |