owl2lwo12   1년 전

코드는 다음과 같이 작성하였습니다.

백준에서는 메모리 초과가 나오고, 비주얼 스튜디오에서 디버거를 돌렸을때에는 stack overflow가 떴습니다.

또, 오류가 발생했을 때 k의 값이 입력한 값이 아닌 -4240등의 동떨어진 수가 나옵니다.

잘못된 부분이 무엇인지 알려주셨으면 합니다.

asdfer1234   1년 전

HowManyPeople(int k, int n) 함수에서, t랑 p를 구하려고 첫줄부터 재귀를 하고 있는데, 이렇게 된다면 return을 하는 명령에 다다를 수 없습니다. HowManyPeople에서 HowManyPeople를 계속 호출해 함수를 끝내지 못해 무한으로 돌고 있네요.

asdfer1234   1년 전

문제를 읽어보지는 않았지만 만약 k <= 0 또는 n == 1일때 함수를 종료하고 싶다면, t랑 p의 값을 구하기 전에 k <= 0이랑 n == 1을 체크해줘서 함수의 호출을 막아주면 되겠네요

owl2lwo12   1년 전

도움주신대로 수정하여 해결되었습니다. 감사합니다.

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