JAVA 자료실

Fibonacci 수열의 N 번째 숫자를 구하시오.

작성자 정보

  • 작성자 최고관리자
  • 작성일

컨텐츠 정보

본문


import java.util.Scanner;

public class Main {

	private static Scanner sc;

	public static void main(String[] args) {
		
		sc = new Scanner(System.in);
		System.out.print("피보니차 수열의 몇번 째 숫자를 구할까요? ");
	
		int number = sc.nextInt();
		int fibo_nacci = fibonacci(number);
		System.out.println("피보나치 수열의 " + number + "번 째 수는 : " + fibo_nacci + "입니다.");
		
	}

	private static int fibonacci(int number) {
		int one = 1;
		int two = 1;
		int result = -1;
		
		if (number == 1) {
			return one;
		} else if (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);
			// 재귀함수 끝 ----------------------------
						
			// 주의!!! - 재귀함수는 숫자가 커지면 반복 횟수가 기하급수적으로 커지는 문제점을 안고 있다.

		}
	
	}

}

관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0