알고리즘 문제풀이/BOJ [백준 온라인 저지(BOJ)] 10826번 피보나치 수 4 자바(java) 풀이 ( BigInteger 이용) - 안녕하세요 호호만두에요 이번에는 백준 온라인 저지(BOJ)의 10826번 피보나치 수4를 자바로 풀어봅시다 https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 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번째 피보나치 수를 구하는 www.acmicpc.net 이 문제의 n이 최대 10000이라는 것에 주의해야되요 작아 보이는 수 같지만 피보나치 수를 구하면 저어어어엉말 커져요 출력해보니까 대충 2000자리가 넘어요 그래서 long 형으로 구하게 되면 overflow나서 이상한 수가 출력되요 (참고로 64bit long형 max 값은9223372036854775807대 충 920경.... 그래서 자바에서는 BigInteger를 이용하여 간단하게 풀 수 있습니다 이는 java.math.BigInteger 를 import해서 사용하실 수 있습니다 1. n을 입력받는다 2. BigInteger 배열을 초기화 한다(i번째 idx : i번째 피보나치 수) 3. for문을 순회하며 이 전 두수를 더해주면서 다음 피보나치 수를 구해나가며 배열에 저장 코드는 아래를 참고해주세요!! 공유하기 게시글 관리 Code by horang '알고리즘 문제풀이 > BOJ' 카테고리의 다른 글 [백준 알고리즘(BOJ)] 15663번 N과M (9) 자바(java) 풀이 (LinkedHashSet 이용) (0) 2020.01.26 [백준 온라인 저지(BOJ)] 3954번 Brainfuck 자바(java) 풀이 (0) 2020.01.25 [백준 알고리즘] 15649번 N과 M (1) (백트래킹) (0) 2020.01.23 [백준 알고리즘, 시뮬레이션] 삼성 코딩 테스트 문제 :: 15686번 드래곤 커브 자바 풀이 (0) 2019.10.30 [백준 온라인 저지(BOJ), 브루트 포스] 삼성 코딩 테스트 문제 :: 15683번 감시 자바 풀이 (0) 2019.10.28 Contents 당신이 좋아할만한 콘텐츠 [백준 알고리즘(BOJ)] 15663번 N과M (9) 자바(java) 풀이 (LinkedHashSet 이용) 2020.01.26 [백준 온라인 저지(BOJ)] 3954번 Brainfuck 자바(java) 풀이 2020.01.25 [백준 알고리즘] 15649번 N과 M (1) (백트래킹) 2020.01.23 [백준 알고리즘, 시뮬레이션] 삼성 코딩 테스트 문제 :: 15686번 드래곤 커브 자바 풀이 2019.10.30 댓글 0 + 이전 댓글 더보기