zwish   4년 전

재귀를 이용해서 문제를 풀고 있는데, 위에꺼는 강의를 보고나서 구현한 거구요.

아래 소스코드는 제가 생각해서 구현한 건데 둘 코드의 차이점이 있다면

14번행에 sum+i를 넘기기 전에 아래 코드는 sum+=i를 한 후에 sum값을 넘기는게 차이인데, 결과값은 다르네요.

혹시 이유를 알 수 있을까요?

gmd1356   4년 전

for(i=1;i<=3;i++){
count+=recursive(sum+i,target);
}

요거는 sum+i 즉 recursive에 sum+1, sum+2, sum+3이 들어가게되는데

for(i=1;i<=3;i++){ sum+=i; count+=recursive(sum,target); }
요거는 sum+=i 처음 sum은 sum+1 이랑 같고 두번째 반복문부터는  sum이 sum+1+2 = sum+3 3번째 반복문 때에는 sum+1+2+3 이어서 결과가 다릅니다.

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