Taene's
[C++] 재귀(Recursion) 본문
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 |