728x90
반응형
1. 문제
2749번: 피보나치 수 3
첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
2. 풀이
- 피사노 주기라는 것에 대해 알게 되었다.
- 피보나치는 재귀, DP, 피사노주기 3가지 방법으로 풀이가 가능하다고 한다.
3. 코드
import java.util.Scanner;
public class Main {
//피사노 주기
static final int mod =1000000;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long num = sc.nextLong();
//15 * 10의 n제곱
int pisano = 1500000;
num = num%pisano;
long[] fibo = new long[pisano+1];
fibo[1] = 1;
for(int i=2; i <= pisano; i++) {
fibo[i] = (fibo[i-1] + fibo[i-2])%mod;
}
System.out.println(fibo[(int)num]);
}
}
반응형
반응형
'알고리즘 > 다이나믹 프로그래밍' 카테고리의 다른 글
[백준 11722] 가장 긴 감소하는 부분 수열(Java) (0) | 2020.12.28 |
---|---|
[백준 11055] 가장 큰 증가 부분 수열(Java) (0) | 2020.12.28 |
[백준 13398] 연속합 2(Java) (0) | 2020.12.28 |
[ 백준 1932] 정수 삼각형(Java) (0) | 2020.12.28 |
[백준 11057] 오르막 수(Java) (0) | 2020.12.23 |