kmiiiaa   6년 전

분명 맞게 짠거 같은데 제출하면 런타임 에러뜨고

제가 따로 숫자 입력해보니

2000 5를 뜰때 에러가 생기고,

combi(x)/(combi(x)*combi(x))

이 부분에서도 x값이 커지니 결과 값 뒤에 'L'이 붙더군요....

왜 이런 결과가 나올까요???

chogahui05   6년 전

나누기를 한 결과에 모듈러 연산을 하면 어떻게 될까요? 당연히 값을 잃어버리겠지요.

다른 방법을 생각해 봅시다.


소인수 분해를 하시거나

다이나믹 프로그래밍 기법으로 푸시던가.

kmiiiaa   6년 전

제가 아직 미숙해서 그런데 모듈러 연산이 뭐고 소인수분해는 대략 어떻게 하나요?

chogahui05   6년 전

코드를 잘못 봤네요.. 죄송합니다..

일단 접근은 맞는 듯 싶습니다만.. 팩토리얼을 재귀로 구하면..

구한 걸 또 구해야 하고 또 구해야 하지요. 그러면 b, a-b 중 큰 녀석만큼 깊이가 깊어져버립니다.


제가 wandbox에서 테스트 해 보니까

아래 테스트 케이스에서 뻗어버리더라고요.



chogahui05   6년 전

차라리 팩토리얼을 재귀로 구하시지 마시고

그냥 배열에 저장해 보세요. 그게 좋을 듯 싶습니다. 배열로 구현해 보니.. 제가 넣은 인풋 값과 값이 비슷하게 나오더라고요.



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