알고리즘 및 자료구조/문제
백준알고리즘 2748번 피보나치 수2
ktko
2018. 5. 14. 09:07
백준알고리즘
https://www.acmicpc.net/problem/2748
2747번(피보나치 수)와 문제는 똑같은데 차이점은 입력받는 범위가 최대였을 때 int 형의 범위를 넘어가 버려서 문제가 된다. long형으로 변경하면 해결
import java.util.Scanner; public class Main2 { static long[] array; public static void main(String[] args) { Scanner scan = new Scanner (System.in); int calData = Integer.parseInt(scan.nextLine().trim()); array = new long[calData + 1]; System.out.println(calculate(calData)); scan.close(); } public static long calculate(int data) { if(data == 0) { array[data] = 0; return 0; } if(data == 1) { array[data] = 1; return 1; } if(array[data] > 0) { return array[data]; } array[data] = calculate(data-1) + calculate(data-2); return array[data]; } }