1
링크: https://www.acmicpc.net/problem/4375
단순 무식하게 1 -> 11 -> 111 로 증가시키며 나누어 떨어지는지 확인을 한다.
그 후 그 값의 자리수를 카운트하여 출력한다.
- 정답 코드
import java.math.BigInteger
class Boj4375 {
companion object{
val zero = (0).toBigInteger()
val ten = (10).toBigInteger()
fun findNumber(n: BigInteger): BigInteger{
var ret = (1).toBigInteger()
while(ret.mod(n) != zero){
ret *= ten
ret++
}
return ret
}
fun getDigitCount(n: BigInteger): Int{
var count = 0
var N = n
while(N != zero){
count++
N /= ten
}
return count
}
@JvmStatic
fun main(args: Array<String>) {
while(true) println(getDigitCount(findNumber((readLine() ?: break).toBigInteger())))
}
}
}