Juwan Park :: 피보나치 수열의 n번째 수 차례로 출력

피보나치 수열의 n번째 수 차례로 출력

★프로그래밍/Ruby :: 2015.09.29 23:23

피보나치 수열 프로그래밍 예제입니다.
(피보나치 수열이란? 0, 1, 1, 2, 3, 5, 8, 13 ... 식으로 첫 번째 숫자와 두 번째 숫자를 합한 값이 세 번째 숫자이고 두 번째 숫자와 세 번째 숫자를 합한 값이 네 번째 숫자이고 이런 식으로 직전의 두 수의 합으로 이어 나가는 수열을 말합니다.)

정보처리기능사 실기시험에도 가끔 나오는 프로그래밍 단골 소재이지요.

여기서는 루비로 첫 번째 값부터 계속 출력되게 구현하였습니다.
또한, 0을 0번째 수로 정의하여 출력합니다.

코드는 다음과 같습니다.

# 피보나치 수열 출력 예제

fibo = [0, 1]    # 피보나치 수열이 저장될 배열

f_dest = 50      # 몇 번째까지 구할지 정의

# 아래 두 줄은 0번째와 1번째를 미리 출력.
puts "피보나치 수열의 0번째 숫자는 0입니다."
puts "피보나치 수열의 1번째 숫자는 1입니다."

for i in 1..(f_dest - 1)
  fibo << ( fibo[i] + fibo[i-1] )    # 앞의 두 개를 더한 값을 삽입
  ii = i + 1    # 삽입된 값을 참조할 변수
  puts sprintf("피보나치 수열의 %d번째 숫자는 %d입니다.",
    ii, fibo[ii])    # 출력
end

아래는 이 코드를 실행한 스크린샷입니다.

유용하게 활용하시기 바랍니다.

Today 12    Yday 63    Tot 65,494
Juwan Park
Juwan Park's blog is powered by Daum and TISTORY.
Contemporary Blue for TISTORY.
Designed by Juwan Park. Creative Commons License
▲ TOP