k550706   1년 전

로직상 틀린건 없는거 같은데요

실제 예시를 집어넣었을때도 잘 작동합니다

로직을 말씀드리자면

1부터 b까지의 모든 숫자를 계속 곱해가는데,

만약 5자리 이상의 숫자이고, 10으로 나눠진다면 10으로 나누고

그냥 5자리 이상의 숫자라면 뒤 5자리만 남기고 다 날립니다

마지막에 출력 양식도 맞췄습니다

혹시 뭐가 틀린지 알수 있을까요?

delin   1년 전

반례입니다.

입력 : 390625

정답 : 50016

출력 : 16000

390624! 의 마지막 뒷자리는 04096 으로, 58 = 390625 를 곱해주면 1,600,000,000이 나옵니다.

주어진 소스코드는 길이가 5 이하일때는 10으로 나누어 떨어지더라도 10으로 나누지 않게 되어 16000을 출력하게 됩니다.

wak8835   1년 전

윗분의 말씀대로 저러한 반례도 있지만 가장 낮은 수치의 반례는 이것이지 않나 싶네요.

- 입력
15

- 출력
24368

- 정답
74368  <- 1,307,6|74,368

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