fun countDivisors(number: Int): Int {
var count = 0
var i = 1
while (i * i <= number) {
if (number % i == 0) {
count++
if (i != number / i) {
count++ // 중복 제거를 위해 제곱근이 아닌 약수도 세기
}
}
i++
}
return count
}
fun main() {
val number = 12
val divisorsCount = countDivisors(number)
println("Number of divisors for $number: $divisorsCount")
}
위의 코드에서 countDivisors 함수는 while 루프를 사용하여 1부터 주어진 수의 제곱근까지의 숫자를 반복합니다. 만약 i가 number를 나누어떨어지게 만드는 경우, 그러한 약수를 발견한 것이므로 count를 증가시킵니다. 또한 약수의 중복을 방지하기 위해 제곱근이 아닌 경우에도 약수의 개수를 증가시킵니다.
728x90
'코테 > 코딩테스트 대비 Kotlin' 카테고리의 다른 글
Kotlin 두 개의 배열의 요소가 같은지 아는 방법 (0) | 2023.08.19 |
---|---|
Kotlin 배열 자르기 (0) | 2023.08.19 |
Kotlin에서 배열을 n개로 나누기 (0) | 2023.08.19 |
Kotlin 배열 정렬 (0) | 2023.08.19 |
Kotlin 코테 대비 정리 (0) | 2023.08.19 |