방명록
- [백준 / 자바] 2747번 피보나치 수2024년 01월 25일 14시 11분 56초에 업로드 된 글입니다.작성자: 민발자728x90
https://www.acmicpc.net/problem/2747
2747번: 피보나치 수
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
문제
피보나치 수는 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이 주어진다. n은 45보다 작거나 같은 자연수이다.
10
출력
첫째 줄에 n번째 피보나치 수를 출력한다.
55
풀이
n의 범위 45에 때라 크기가 46인 int 배열을 만든다.
0과 1을 셋팅해주고 피보나치 수 Fn = Fn-1 + Fn-2 공식을 이용해 n까지 피보나치 수를 구해주면 된다!
public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] a = new int[46]; a[1] = 1; int n = Integer.parseInt(br.readLine()); for(int i = 2; i <= n; i++) { a[i] = a[i-1] + a[i-2]; } System.out.println(a[n]); } }
728x90'기록 > 백준' 카테고리의 다른 글
[백준 / 자바] 11650번 좌표 정렬하기 (1) 2024.02.01 [백준 / 자바] 1037번 약수 (0) 2024.01.26 [백준 / 자바] 2309번 일곱 난쟁이 - 브루트포스 알고리즘 (1) 2024.01.25 [백준 / 자바] 2775번 부녀회장이 될꺼야 (0) 2024.01.25 [백준 / 자바] 11653번 소인수분해 (0) 2024.01.25 다음글이 없습니다.이전글이 없습니다.댓글