This is an old revision of the document!
public static int sum(int n) {
if(n <= 0)
return n;
return n + sum(n - 1);
}
private static int factorial(int n) {
if(n == 0) //0! = 1
return 1;
else
return n * factorial(n-1);
}
public static int fibonacci(int n) {
if(n < 1)
throw new StackOverflowError("1보다 커야 합니다.");
if(n == 1) {
return 0;
}
else if (n == 2) {
return 1;
}
else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void hanoiTower(int n, String from, String to, String temp) {
if(n == 1) {
System.out.println(String.format("원반 %d개 %s → %s", n, from, temp));
}
else {
hanoiTower(n - 1, from, temp, to);
System.out.println(String.format("원반 %d개 %s → %s", n, from, temp));
hanoiTower(n - 1, temp, from, to);
}
}