[BOJ] 4375 1

ProblemSolving / / 2022. 5. 19. 19:55

1

링크: https://www.acmicpc.net/problem/4375

 

4375번: 1

2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.

www.acmicpc.net

 

단순 무식하게 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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기