728x90
반응형
#include <stdio.h>
void Recursive(int num)
{
if (num <= 0)
return;
printf("Recursive call! %d \n", num);
Recursive(num - 1);
}
int main(void)
{
Recursive(3);
return 0;
}
/*
Recursive call! 3
Recursive call! 2
Recursive call! 1
*/
#include <stdio.h>
int Factorial(int n)
{
if (n == 0)
return 1;
else
return n * Factorial(n - 1);
}
int main(void)
{
int i;
for (i = 1; i < 10; i++)
{
printf("%d! = %d \n", i, Factorial(i));
}
return 0;
}
/*
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
*/
#include <stdio.h>
int Factorial(int pn)
{
/*
// First Method
if (pn <= 1) return 1;
int result = pn;
for (int i = pn - 1; i > 1; i--)
{
result *= i;
}
return result;
*/
/*
// Second Method
if (pn <= 1) return 1;
return pn * Factorial(pn - 1);
*/
/*
// Third Method
if (pn <= 1)
return 1;
else return
pn * Factorial(pn - 1);
*/
}
int main(void)
{
int n;
printf("Input any num : ");
scanf_s("%d", &n);
int result;
result = Factorial(n);
printf("%d\n", result);
return 0;
}
#include <stdio.h>
// Fibonacci Sequence
int Fibo(int pn)
{
if (pn == 1)
return 0;
else if (pn == 2)
return 1;
else
return Fibo(pn - 1) + Fibo(pn - 2);
}
int main(void)
{
/*
// Search a index in to the Fibo
int n;
printf("Input any num : ");
scanf_s("%d", &n);
int result;
result = Fibo(n);
printf("Fibonacci Index : %d\n", result);
*/
// Fibonacci iteration
int i;
for (i = 1; i < 15; i++)
{
printf("%d ", Fibo(i)); //0 1 1 2 3 5 8 13 21 34 55 89 144 233
}
return 0;
}
#include <stdio.h>
// Binary Search Recursion
int BSearchRecur(int ar[], int first, int last, int target)
{
if (first > last)
return -1; // Escape
int mid;
mid = (first + last) / 2;
if (ar[mid] == target)
return mid;
else if (target < ar[mid])
return BSearchRecur(ar, first, mid - 1, target);
else
return BSearchRecur(ar, mid + 1, last, target);
}
int main(void)
{
int arr[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int result;
result = BSearchRecur(arr, 1, 9, 3);
printf("%d", result);
return 0;
}
하노이의 탑 (Tower of Hanoi)
하노이탑 (Tower of Hanoi) 플래시게임입니다 다음 두가지 조건을 만족시키면서 첫번째 기둥에 있는 원판들을 세번째 기등으로 그대로 옮기는 퍼즐 게임입니다 1. 한번에 하나의 원판만 옮길 수 있
vidkidz.tistory.com
#include <stdio.h>
// The Tower of Hanoi
void HnTower(int num, char from, char by, char to);
int main(void)
{
// Move 3 disks of bar A via bar B to bar C
HnTower(3, 'A', 'B', 'C');
return 0;
}
void HnTower(int num, char from, char by, char to)
{
if (num == 1)
{
printf("Move 1 disc from %c to %c\n", from, to);
}
else
{
HnTower(num - 1, from, to, by);
printf("Move %c disc from %c to %c\n", num, from, to);
HnTower(num - 1, by, from, to);
}
}
728x90
반응형
'Data Structure & Algorithm' 카테고리의 다른 글
Linked List (0) | 2022.09.10 |
---|---|
Bubble Sort Algorithm (0) | 2022.09.09 |
Sequential Data Structure (0) | 2022.09.07 |
Binary Search Algorithm (0) | 2022.09.05 |
Linear Search (Sequential Search) Algorithm (0) | 2022.09.05 |