wlsdn3631   4년 전

n=0 -->1

n=1 --> 0

...

n=7-->1

n=10-->2

다 답은 나오는데.... 틀렸습니다가 나와요..반례 찾아주세요ㅠㅠ

exqt   4년 전

  1. n 이 클 경우 overlflow가 발생합니다. BigInteger 쓰시거나 (통과될진 모르겠습니다) overflow가 나지 않는 방법을 생각해보세요.
  2. 0! = 1입니다

alice   4년 전

답이 아니니까 틀린겁니다.

wlsdn3631   4년 전

아래처럼 

BigInteger를 이용해서 팩토리얼을 재귀함수로 돌리거나,

BigInteger를 이용해서 팩토리얼을 for문으로 돌리거나..


했는데 99%에서 자꾸 틀렸습니다가 나오더라구요.. 그래서 n까지의 범위중에서 i*=5로 횟수를 구하니까 정답이 되더라구요.

근데, BigInteger를 이용해서 0!반례나 n이 30이상일경우의 overflow 반례를 했는데도 틀린거면 또 다른 이유가 있는건가요?

exqt   4년 전

입력이 0 이면 출력도 0 입니다

따로 예외처리 하실필요 없습니다

wlsdn3631   4년 전

해결했습니다. 감사합니다.

댓글을 작성하려면 로그인해야 합니다.