ljm6868   8년 전

M개 중에서 N개를 골라내는 콤비네이션을 이용해서 풀었는데요.

제 생각엔 맞는거 같은데 틀렸습니다가 자꾸 떠서 질문 올립니다.

혹시 int 때문인가 해서 모두 unsigned long long으로 바꾸어 보아도 틀렸습니다가 뜨네요.

어디가 문제일까요??

egpaltair   8년 전

테스트 케이스가 N = 15, M = 29일 때, 77558760을 출력해야하는데 7026123을 출력합니다.

그리고 테스트 해봤을 때, M = 29를 고정시킨다고 가정하고 N값만 변화시키면 N = 14, N = 15일 때 값은 같아야하고 N = 13, N = 16일때 값은 같아야하는데 N값이 커질수록 값이 급격하게 줄어듭니다.

아마 제 생각에는 직접 구현하신 팩토리얼 함수 내에서 while 문을 조금 고쳐주시면 될 거 같습니다.

ljm6868   8년 전

답변 감사합니다!

입력받고 

if ((M - N) < N)
N = M - N;

이 조건 추가해서

N값을 무조건 작은 수로 교환 하도록 해서 출력하니까 맞았네요.  

감사합니다 ㅠㅠ

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