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 4    Yday 43    Tot 70,249
Juwan Park
Juwan Park's blog is powered by Daum and TISTORY.
Contemporary Blue for TISTORY.
Designed by Juwan Park. Creative Commons License
▲ TOP