* Factorial 을 구하는 재귀함수

#include <stdio.h>


int factorial(int n) {

if (n == 1) {

return 1;

}

else {

return n * factorial(n - 1);

}

}


int main()

{

printf("5 factorial = %d\n", factorial(5));

return 0;

}



* Fibonacci 수열의 값을 구하는 재귀함수

int fibonacci(int n) {

if (n == 1 || n == 2) {

return 1;

}

else {

return fibonacci(n-1) + fibonacci(n - 2);

}

}


int main()

{

printf("fibonacci [6] = %d\n", fibonacci(6));

return 0;

}


* Hanoi Tower 알고리즘

#include <stdio.h>


void move(int from, int to) {

printf("Move from %d to %d\n", from, to);

}


void hanoi(int n, int from, int by, int to) {

if (n == 1) {

move(from, to);

}

else {

hanoi(n - 1, from, to, by);

move(from, to);

hanoi(n - 1, by, from, to);

}

}


int main()

{

hanoi(3, 1, 2, 3);

return 0;

}


'SW > 알고리즘' 카테고리의 다른 글

Insertion Sort 1  (0) 2019.05.11
Selection Sort  (0) 2019.05.11
Tree Traversal4 - Level order Traversal (Breadth-First Traversal)  (0) 2019.02.23
Tree Traversal3 - Postorder traversal  (0) 2019.02.23
Tree Traversal2 - Inorder traversal  (0) 2019.02.23

+ Recent posts