복잡한 내용을 단순하게 만드는 함수.
package 재귀.순조부;
import java.io.*;
public class Factorial {
public static void main(String[] args) throws IOException {
System.out.println(fatorial(5));
}
public static int fatorial(int n) {
if (n == 0) {
return 1;
} else {
return n * fatorial(n - 1);
}
}
}

package 재귀.순조부;
import java.io.*;
public class Sum_num {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int target_num = Integer.parseInt(br.readLine());
//basis Part
System.out.println(reculsive_sum(target_num));
}
//recursive Part
public static int reculsive_sum(int target_num) {
if (target_num == 1) {
return 1;
} else {
return target_num + reculsive_sum(target_num - 1);
}
}
}

package 재귀.순조부;
import java.io.*;
public class Fibonacci {
public static int fibonacci(int target_num) {
if (target_num == 0) {
return 0;
}
if (target_num == 1) {
return 1;
}
//Reculsive Part
return fibonacci(target_num - 1) + fibonacci(target_num - 2);
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int target_num = Integer.parseInt(br.readLine());
int answer = fibonacci(target_num);
System.out.println(answer);
}
}
