c·c++/c 프로그래밍
재귀함수 질문
바로이순간
2012. 3. 22. 09:25
x와 y가 정수이고 y가 x보다 클때
x+(x+1)+(x+2)+....+(y+1)+y를 구하는 재귀함수를구하는데
이게무슨말인지 알려주세요
int psum(int n, int x) {
만약 n이 x와 같으면 n를 돌려준다.
// 여기서는 n 이 x보다 크다는 뜻이다.
n+psum(n-1,x) 를 돌려준다.
}
위와 같이 만든 재귀함수 psum을 써서
result=psum(y, x); 와 같이 값을 구한다는 뜻입니다.
예를 들어서 x=2 이고 y=5인 경우를 보겠습니다.
psum(5,2)
.....n이 5 x가 2
.....5+psum(4,2)
..............n 이 4 x가 2
..............4+psum(3,2)
.....................n 이 3 x가 2
.....................3+psum(2,2)
............................n 이 2 x가 2
............................2를 돌려준다.
.....................5를 돌려준다. (2+3)
...............9를 돌려준다. (2+3+4)
.......14를 돌려준다. (2+3+4+5)
이렇게 psum은 2부터 5까지의 합을 구해준다.