Taene's

[C++] 재귀(Recursion) 본문

C++ 개념 공부/알고리즘

[C++] 재귀(Recursion)

taene_ 2024. 4. 24. 20:01

1. 재귀로 배열의 합 구하기

#include <iostream>
using namespace std;

int Sum(int* arr, int n)
{
	int s = 0;
	for (int i = 0; i < n; i++)
		s += arr[i];

	return s;
}

int RecurSum(int* arr, int n)
{
	if (n == 1)
		return arr[0];

	arr[n - 2] += arr[n - 1];

	RecurSum(arr, n - 1);
}

/*
int RecurSum(int* arr, int n)
{
	if (n <= 0)
		return 0;
        
	return RecurSum(arr, n - 1) + arr[n - 1];
}
*/

/*
int RecurSum(int arr[], int n)
{
	if (n) return RecurSum(arr, n - 1) + arr[n - 1];
	return 0;
}
*/

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int n = sizeof(arr) / sizeof(arr[0]);

	cout << Sum(arr, n) << '\n';
	cout << RecurSum(arr, n) << '\n';

	return 0;
}

 

2. 피보나치 수열

//

'C++ 개념 공부 > 알고리즘' 카테고리의 다른 글

[C++] 투 포인터  (0) 2024.09.11
[C++] 구간 합  (0) 2024.09.11
[C++] 탐색 - 이진(이분) 탐색(Binary Search)  (0) 2024.04.09
[C++] 문자열 압축  (0) 2024.04.05
[C++] 탐색 - 순차 탐색(Sequential Search)  (0) 2024.04.03