728x90
반응형
SMALL
백준 저지에서 피보나치 수2를 자바를 통해 풀어 보았다.
https://www.acmicpc.net/problem/2748
1259번 팰린드롬수
문제
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.
이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다.
n=17일때 까지 피보나치 수를 써보면 다음과 같다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597
n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.
설명
앞선 문제와 비슷하지만 이번에는 n의 범위가 90까지이다. 90번 째 피보나치 수까지 구하다 보면 int의 범위를 벗어나는 숫자가 나온다. 정확한 피보나치 수를 구하기 위해 배열의 타입을 long으로 선언하여 피보나치 수를 저장했다.
코드
//2748번 피보나치 수 2.java
package week2;
import java.util.Scanner;
public class 피보나치_수2_2748 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long[] fibo = new long[91]; //주어진 범위 안의 모든 피보나치를 구함
fibo[0]=0;
fibo[1]=1;
for(int i=2;i<fibo.length;i++) {
fibo[i] = fibo[i-1]+fibo[i-2];
}
int n = sc.nextInt();
System.out.println(fibo[n]);
}
}
728x90
반응형
SMALL
'Problem Solving > 백준BOJ' 카테고리의 다른 글
[백준BOJ] 11779번 최소비용 구하기2.py (0) | 2021.07.25 |
---|---|
[백준BOJ] 2960번 에라토스테네스의 체.java (0) | 2021.07.25 |
[백준BOJ] 2747번 피보나치 수.java (0) | 2021.07.25 |
[백준BOJ] 2407번 조합.py (0) | 2021.07.22 |
[백준BOJ] 1043번 거짓말.py (0) | 2021.07.21 |