티스토리 뷰

반응형

 

순환기법을 이용하여 작성한다.

sum(3) 은 1부터 3까지의 합이므로

sum(3) = 3 + sum(2)와 같다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
int sum(int num);
 
int main(void)
{
    int num;
 
    printf("정수를 입력하시오 : ");
    scanf_s("%d"&num);
 
    printf("1부터 %d까지의 합 : %d\n", num, sum(num));
    return 0;
}
 
int sum(int num)
{
    if (num == 0)
        return 0;
    else if (num > 0)
        return num + sum(num - 1);
}
 
cs

 

 

 

  - 설명  

int sum(int num) 함수에서,

num이 0이 될 때까지

순환(재귀 호출)한다.

 

3을 입력하면

3 + sum(2),

3 + 2 + sum(1),

3 + 2 + 1 + sum(0),

3 + 2 + 1이 되는 것이다.

 

line 18의 return 0은

return num; 을 해도 된다.

num이 곧 0이기 때문이다.

 

 

 

  - 결과  

반응형
댓글
반응형
Recent Post.
Recent Reply.
Thanks for comming.
오늘은
명이 방문했어요
어제는
명이 방문했어요