본문 바로가기

Problem Solving/백준BOJ

[백준BOJ] 2747번 피보나치 수.java

728x90
반응형
SMALL

 

백준 저지에서 피보나치 수를 자바를 통해 풀어 보았다. 

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

 

2747번: 피보나치 수

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

2747번 피보나치 수.java

 

GitHub - tomy9729/TargetIsPlatinum5: 👯목표는 플레티넘5👯

👯목표는 플레티넘5👯. Contribute to tomy9729/TargetIsPlatinum5 development by creating an account on GitHub.

github.com

2747번 피보나치 수

문제

피보나치 수는 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의 최대 범위가 45이므로 45번 째 피보나치 수까지 계산하여 구하고 배열에 저장했다.

 

저장한 값을 출력한다.

코드

//2747번 피보나치 수.java
package week2;

import java.util.Scanner;

public class 피보나치_수_2747 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int[] fibo = new int[46]; //주어진 범위 안의 모든 피보나치를 구함
		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