import java.util.Scanner;publicclassMain{privatestatic Scanner sc;publicstaticvoidmain(String[] args){
sc =newScanner(System.in);
System.out.print("피보니차 수열의 몇번 째 숫자를 구할까요? ");int number = sc.nextInt();int fibo_nacci =fibonacci(number);
System.out.println("피보나치 수열의 "+ number +"번 째 수는 : "+ fibo_nacci +"입니다.");}privatestaticintfibonacci(int number){int one =1;int two =1;int result =-1;if(number ==1){return one;}elseif(number ==2){return two;}else{// 반복함수 시작for(int i =2; i<number; i++){
result = one + two;
one = two;
two = result;}return result;// 반복함수 끝 ----------------------------// 재귀함수 시작 ----------------------------// return fibonacci(number - 1) + fibonacci(number - 2);// 재귀함수 끝 ----------------------------// 주의!!! - 재귀함수는 숫자가 커지면 반복 횟수가 기하급수적으로 커지는 문제점을 안고 있다.}}}