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())))
}
}
}
'ProblemSolving' 카테고리의 다른 글
[BOJ] 2470 두 용액 (0) | 2022.05.21 |
---|---|
[프로그래머스] [3차] 파일명 정렬 (0) | 2022.05.20 |
[BOJ] 2193 이친수 (0) | 2022.05.18 |
[BOJ] 1245_농장 관리 (0) | 2022.05.15 |
[BOJ] 1094_막대기 (0) | 2022.05.14 |
최근댓글