irikong   1년 전

n C r 조합으로 문제를 풀었습니다.

계산하는 과정은 예를 들어 5 C 3일 경우 계산 과정을 줄이기 위하여 5 C 2로 바꾸며 (5*4) / (1*2) 로 계산하였습니다.

부동 소수점, 오버 플로우, 13 29 / 16 29 가 다르다거나 음수가 나오는 것, 같은 수를 넣었을 때 다 입력해봐도 문제가 없는 것 같습니다.

울프람 알파도 돌려서 값 비교해봤는데 어느 케이스일때 틀린걸까요?  직접 다 넣어볼수도 없고 막막하네요...

djm03178   1년 전

오차의 문제가 맞다고 보여집니다.

틀린 케이스들을 모두 찾아봤습니다.

cmd_2017-12-06_18-16-22.png

Green55   1년 전

long long 으로 풀 수 있는 방법이 있습니다.
n+1Ck+1 = nCk + nCk+1 를 이용해 보세요.

irikong   1년 전

정말 감사합니다. 다시 풀어보겠습니다 !

irikong   1년 전

자료형 변경 후 소수간의 최대한 연산을 적게 하는 방법으로 바꾸었더니 바로 해결되었습니다.

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