문제 41, 피보나치 수의 개수, How many Fibs?, PC/UVa ID : 110601/10183, 인기도 : B, 성공률 : 보통, 레벨 : 1

이 포스트를 만든 목적

  • 생각 절차, 푼 방법, 고민거리 등을 기록하기 위해서 만들었다.

이 포스트의 준비물

  • Mozila Firefox 6.0
  • eclipse 3.6.1 + vrapper
  • java

참조 문헌

  • 스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역.
    Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 41, 피보나치 수의 개수, How many Fibs?, p.172)

참조 링크

간략한 이야기/프로그램의 입출력

피보나치 수는 다음 처럼 정의 된다.

f1 := 1
f2 := 2
fn := fn-1 + fn-2     (n>=3)

두개의 수 a 와 b 가 주어졌을 때, 이 두 수 사이에 얼마나 많은 피보나치 수가 있는지 계산해라.

입력
  • 여러개의 테스트 케이스가 입력될 수 있다.
  • 각 테스트 케이스는 두개의 수 a, b를 입력 받는다.
  • a 와 b가 0일 경우, 프로그램은 종료된다.

  • a와 b의 범위는 a<=b<=10100 이며, a, b는 양의 정수이다.

출력

  • 각 테스트 케이스는 한 라인에 a<=fi<=b. 의 피보노치 수의 개수를 출력 한다.
맛보기 코드


맛보기 사진

여담

  • 최대 100 자리수까지 고려해야 하므로, C 에선 문자열로 처리해 주어야 한다.
  • JAVA 에선 BigInteger 클래스를 이용하면, 100 자리수도 계산할 수 있다.
  • 피보노치 수를 테이블 표로 만들고, 이 표의 범위로 개수를 찾는 방법으로 푼 것을 보았다.(재미있었다.)
  • 어려운건 없었다.

:wq!

저작자 표시
신고

'책 정리 > Programming Challenges : 알고리즘 트래이닝 북' 카테고리의 다른 글

문제 44, 표현식, Expressions, PC/UVa ID : 110604/10157, 인기도 : C, 성공률 : 보통, 레벨 : 2  (0) 2015.02.04
문제 43, 셈, Counting, PC/UVa ID : 110603/10198, 인기도 : B, 성공률 : 높음, 레벨 : 2  (2) 2011.08.22
문제 42, 땅 나누기, How many Pieces of Land?, PC/UVa ID : 110602/10213, 인기도 : B, 성공률 : 보통, 레벨 : 2  (1) 2011.08.01
문제 41, 피보나치 수의 개수, How many Fibs?, PC/UVa ID : 110601/10183, 인기도 : B, 성공률 : 보통, 레벨 : 1  (0) 2011.07.29
문제 40, 모든 쌍의 합, Pairsumonious Numbers, PC/UVa ID : 110508/10202, 인기도 : B, 성공률 : 높음, 레벨 : 4  (0) 2011.07.27
문제 39, 스턴-브로콧 수체계, The Stern-Brocot Number System, PC/UVa ID : 110507/10077, 인기도 : C, 성공률 : 높음, 레벨 : 1  (0) 2011.07.03
문제 38, 다항식의 계수, Polynomial Coefficients, PC/UVa ID : 110506/10105, 인기도 : B, 성공률 : 높음, 레벨 : 1  (0) 2011.06.14
문제 37, 곱하기 게임, A Multiplication Game, PC/UVa ID : 110505/847, 인기도 : A, 성공률 : 높음, 레벨 : 3  (0) 2011.05.07
문제 36, 1의 개수, Ones, PC/UVa ID : 110504/10127, 인기도 : A, 성공률 : 높음, 레벨 : 2  (0) 2011.05.05
문제 35, 고고학자의 딜레마, The Archeologist's Dilemma, PC/UVa ID : 110503/701, 인기도 : A, 성공률 : 낮음, 레벨 : 1  (0) 2011.05.05
문제 34, 뒤집어서 더하기, Reverse and Add, PC/UVa ID : 110502/10018, 인기도 : A, 성공률 : 낮음, 레벨 : 1  (0) 2011.03.10
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요