C언어 Express 9장 #05

685 단어 recursionCC

1부터 n까지의 합(1+2+3+4+...+n)을 Recursion 활용해 구하는 문제

#include <stdio.h>

int sum(int n) {
    if(n != 0) {
        return n + sum(n-1);
    }
    else {
        return n;
    }
}

int main() {
    int num;
    printf("정수를 입력하시오: ");
    scanf("%d", &num);

    printf("1부터 %d까지의 합 = %d", num, sum(num));
}


n = 10일 때의 아이디어 스케치
10이 처음 들어가면 10 + sum(9)를 반환
sum(9)에 저 많은게 다 들어가고, 결국 최종 반환값은 55

좋은 웹페이지 즐겨찾기