문제
2748번: 피보나치 수 2
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된��
www.acmicpc.net
코드
틀렸습니다가 자꾸 떠서 속상했는데 알고보니 결과값이 int형의 범위를 넘어가기 때문이었다.
안심^^
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
class Main{
static long[] ans = new long[91];
public static long fib(int n) {
if(n==0)
return 0;
if(n==1)
return 1;
if(ans[n]!=0)
return ans[n];
return ans[n]=fib(n-1)+fib(n-2);
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
bw.write(Long.toString(fib(n)));
bw.flush();
}
}
'Preparing Coding Test > Baekjoon' 카테고리의 다른 글
[Java/백준/DP] 1904번: 01타일 (0) | 2020.10.01 |
---|---|
[Java/백준/DP] 1003번: 피보나치 함수 (0) | 2020.09.30 |
[Java/백준/BFS] 1697번: 숨바꼭질 (0) | 2020.09.24 |
[Java/백준/BFS, DFS] 2644번: 촌수계산 (0) | 2020.09.21 |
[Java/백준/BFS] 7576번, 7569번: 토마토 (0) | 2020.09.21 |