슈콩

[BOJ] 백준 1788 피보나치 수의 확장 본문

Algorithms/Baekjoon

[BOJ] 백준 1788 피보나치 수의 확장

shukong 2025. 8. 23. 20:14

[문제] 

https://www.acmicpc.net/problem/1788

 

 

[소스 코드]

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	int n = Integer.parseInt(br.readLine());
    	long[] dp = new long[1000001];
    	dp[0] = 0; dp[1] = 1;
    	if(n>=0) {
    		for(int i=2;i<=n;i++) {
    			dp[i] = dp[i-1] + dp[i-2];
    			dp[i] %= 1000000000;
    		}
    	}
    	else {
    		n = Math.abs(n);
    		for(int i=2;i<=n;i++) {
    			dp[i] = dp[i-2] - dp[i-1];
    			dp[i] %= 1000000000;
    		}
    	}
    	if(dp[n]>0) System.out.println(1);
    	else if(dp[n]==0) System.out.println(0);
    	else System.out.println(-1);
    	System.out.println(Math.abs(dp[n]%1000000000));
    }
}

'Algorithms > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 1912 연속합  (0) 2025.08.23
[BOJ] 백준 1904 01타일  (0) 2025.08.23
[BOJ] 백준 1699 제곱수의 합  (2) 2025.08.23
[BOJ] 백준 15486 퇴사 2  (0) 2025.08.23
[BOJ] 백준 1520 내리막  (0) 2025.08.23