1676번: 팩토리얼 0의 개수백준/문제2023. 8. 2. 13:41
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/1676
언어 : Kotlin
문제 설명 :
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
- 첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
- 첫째 줄에 구한 0의 개수를 출력한다.
제한 사항 :
- 시간 제한 : 2초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
10 | 2 |
3 | 0 |
풀이 :
import java.io.*
import java.math.BigInteger
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val str = factorial(br.readLine().toBigInteger(), 1.toBigInteger()).toString().reversed()
bw.write("${str.slice(0 .. str.indexOfFirst { it != '0' }).count { it == '0' }}")
bw.flush()
bw.close()
}
fun factorial(n: BigInteger, acc: BigInteger): BigInteger {
return if (n <= 1.toBigInteger()) acc
else factorial(n - 1.toBigInteger(), n * acc)
}
'백준 > 문제' 카테고리의 다른 글
18110번: solved.ac (0) | 2023.08.03 |
---|---|
7568번: 덩치 (0) | 2023.08.02 |
1654번: 랜선 자르기 (0) | 2023.08.01 |
15829번: Hashing (0) | 2023.08.01 |
2775번: 부녀회장이 될테야 (0) | 2023.08.01 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!