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

+ Recent posts