SUM


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int reSum(int n) {
	if (n < 1) {
		return 0;
	}
	return (n + reSum(n-1) );
}

int main(void) {
	int a;
	int num = 0, sum = 0;

	printf("정수 입력 : ");
	scanf("%d", &num);

	for (a = 1; a <= num; a++) {
		sum += a;
	}
	printf("for 순환문 1부터 %d까지의 합 : %d \\n", num, sum);

	printf("재귀함수 1부터 %d까지의 합 : %d \\n", num, reSum(num));
}

<aside> ➡️ 정수 입력 : 10 for 순환문 1부터 10까지의 합 : 55 재귀함수 1부터 10까지의 합 : 55

</aside>

Fac


#define CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int reSum(int n) {
	if (n < 1) {
		return 0;
	}
	return (n + reSum(n-1) );
}

int reFac(int n) {
	if (n < 1) {
		return 1;
	}
	return (n * reFac(n - 1));
}

int main(void) {
	int a;
	int num = 0, fac = 1;

	printf("정수 입력 : ");
	scanf("%d", &num);

	for (a = 1; a <= num; a++) {
		fac *= a;
	}
	printf("for 순환문 1부터 %d까지의 곱 : %d \\n", num, fac);

	printf("재귀함수 1부터 %d까지의 곱 : %d \\n", num, reFac(num));
}

<aside> ➡️ 정수 입력 : 5 for 순환문 1부터 5까지의 곱 : 120 재귀함수 1부터 5까지의 곱 : 120

</aside>

Fibonacci


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int reFib(int n) {
	if (n == 0) {
		return 0;
	}
	else if (n == 1) {
		return 1;
	}
	return (reFib(n-1) + reFib(n-2));
}

int main(void) {
	int a, b, c;
	int num = 0, sum = 0, fac = 1;

	printf("정수 입력 : ");
	scanf("%d", &num);

	a = 1; b = 1;
	sum = 2;
	while (sum < num) {
		c = a + b;
		sum++;
		a = b; b = c;
	}
	printf("피보나치 %d까지의 수는 : %d \\n", num, c);
	printf("재귀함수 피보나치 %d까지의 수 : %d", num, reFib(num));

	return 0;
}

<aside> ➡️ 정수 입력 : 10 피보나치 10까지의 수는 : 55 재귀함수 피보나치 10까지의 수 : 55

</aside>