You will be fine

<Algorithm> 47. 2748번 피보나치2

by BFine
반응형

1. 2748번 피보나치2 

  • BigInteger 문제, 처음에는 단순히 int로 접근해서 풀었는데 틀렸습니다가 나왔다. 50번째 피보나치를 할 경우 int 범위가 넘어버렸다.

  • BigInteger는 거의 무한대의 가까운 정수를 나타낼 수 있다. 주의할점은 사칙연산은 모두 함수를 이용하여야 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
 
public class Main {
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        fibo(N);
    }
    public static void fibo(int N) {
        BigInteger dp[] = new BigInteger[N+1];
        BigInteger big;
        if(N == || N ==1) {
            System.out.println(N);
            return;
        }
        dp[0= BigInteger.valueOf(0);
        dp[1= BigInteger.valueOf(1);
        
        for(int i = 2; i < N + ; i ++) {
            big = dp[i - 1];
            big = big.add(dp[i - 2]);
            dp[i] = big;
        }
        System.out.println(dp[N]);
        
    }
}
cs



반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기