Kotlin 소수 판별 함수
private fun isPrime(n: Int): Boolean {
if (n == 0 || n == 1) return false
var i = 2
while (i * i <= n) { if (n % i++ == 0) return false }
return true
}
아래는 좀 더 간단히 해본 코드
fun isPrime(num: Int): Boolean {
if (num <= 1) return false
return (2..Math.sqrt(num.toDouble()).toInt()).none { num % it == 0 }
}
1이하는 소수가 아님으로 false 반환
소수를 판별할 숫자의 제곱근 까지 나누어서 나누어 떨어지지 않으면 해당 숫자는 소수임으로 none 으로 확인 후 결과 리턴
'Kotlin > Util' 카테고리의 다른 글
마스킹 함수 ( * 처리 표시 ) (0) | 2022.01.10 |
---|---|
Ping Test(핑 테스트) (0) | 2021.12.08 |
TimerUtil 일정시간이후 특정동작 지정 수행 (0) | 2021.04.21 |
DecimalFormat을 사용한 가격 , 표시 (0) | 2020.11.27 |