void CFunc()
{
}
void BFunc()
{
CFunc();
}
void AFunc()
{
BFunc();
}
int main(void)
{
AFunc();
return 0;
}
void RecursiveFunction()
{
RecursiveFunction();
}
int main(void)
{
RecursiveFunction();
return 0;
}
int Factorial(int _Num)
{
int Result = 1;
for (int i = 0; i < _Num; ++i)
{
Result *= i + 1;
}
return Result;
}
int main(void)
{
int i = 0;
i = Factorial(4);
return 0;
}
int Factorial_Recusion(int _Num)
{
// 10 ! == 10 * 9!;
// 9 ! == 9 * 8!
// _Num! == _Num * (_Num-1)!;
if (1 == _Num) // 종료 조건
{
return 1;
}
else
{
return _Num * Factorial_Recusion(_Num - 1);
}
}
int main(void)
{
int i = 0;
i = Factorial_Recusion(4);
return 0;
}
int Fibonacci(int _Num)
{
if (1 == _Num || 2 == _Num)
{
return 1;
}
// 3항 이상인 경우 처음 두항(1, 1) 부터
// 누적해서 해당 항을 구해준다.
int iResult = 0;
int Prev1 = 1;
int Prev2 = 1;
for (int i = 0; i < _Num - 2; ++i)
{
iResult = Prev1 + Prev2;
Prev1 = Prev2;
Prev2 = iResult;
}
return iResult;
}
int main(void)
{
int iReturn = Fibonacci(2); //
iReturn = Fibonacci_Recursion(10);
iReturn = Fibonacci_Recursion(11);
}
if (1 == _Num || 2 == _Num)
for (int i = 0; i < _Num - 2; ++i)
iResult = Prev1 + Prev2
Prev1 = Prev2;
Prev2 = iResult;
int Fibonacci_Recursion(int _Num)
{
if (1 == _Num || 2 == _Num)
{
return 1;
}
return Fibonacci_Recursion(_Num - 1) + Fibonacci_Recursion(_Num - 2);
}
int main()
{
// 피보나치 수열 구하기
int iReturn = 0;
iReturn = Fibonacci_Recursion(10);
iReturn = Fibonacci_Recursion(11);
iReturn = Fibonacci_Recursion(48);
return 0;
}
if (1 == _Num || 2 == _Num)
{
return 1;
}
#include <iostream>
void RecursiveFunction()
{
RecursiveFunction();
}
// 팩토리얼
int Factorial(int _Num)
{
int Result = 1;
for (int i = 0; i < _Num; ++i)
{
Result *= i + 1;
}
return Result;
}
int Factorial_Recusion(int _Num)
{
if (1 == _Num)
return 1;
else
return _Num * Factorial_Recusion(_Num - 1);
}
// 피보나치 수열
int Fibonacci(int _Num)
{
if (1 == _Num || 2 == _Num)
{
return 1;
}
int iResult = 0;
int Prev1 = 1;
int Prev2 = 1;
for (int i = 0; i < _Num - 2; ++i)
{
iResult = Prev1 + Prev2;
Prev1 = Prev2;
Prev2 = iResult;
}
return iResult;
}
// 피보나치 수열(재귀)
int Fibonacci_Recursion(int _Num)
{
if (1 == _Num || 2 == _Num)
{
return 1;
}
return Fibonacci_Recursion(_Num - 1) + Fibonacci_Recursion(_Num - 2);
}
int main()
{
//RecursiveFunction();
int i = 0;
i = Factorial(10);
i = Factorial_Recusion(10);
if (i == 10)
i = 10;
// 피보나치 수열 구하기
int iReturn = 0;
iReturn = Fibonacci(3);
iReturn = Fibonacci(4);
iReturn = Fibonacci(2000);
iReturn = Fibonacci_Recursion(10);
iReturn = Fibonacci_Recursion(11);
iReturn = Fibonacci_Recursion(48);
return 0;
}
1차 23.12.05
2차 23.12.06
3차 23.12.07
4차 23.12.11
5차 23.12.17
6차 23.12.24
7차 24.01.01
8차 24.01.22