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까지의 합을 구해준다.
'c·c++ > c 프로그래밍' 카테고리의 다른 글
파일을 메모리에 모두 읽어들이자. (0) | 2012.03.22 |
---|---|
main과 winMain, dllMain의 차이점에 관하여 설명 좀 해주세요 ~~ (0) | 2012.03.22 |
비주얼 스튜디오에서 c언어코드를 어셈블리로 보는 방법은 무엇인가요? (0) | 2012.03.20 |
if 문 없이 별찍기 (0) | 2012.03.20 |
멋진 isprime 함수 (0) | 2012.03.20 |