피보나치 수열의 n번째 수 차례로 출력
★프로그래밍/Ruby :: 2015. 9. 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
아래는 이 코드를 실행한 스크린샷입니다.
유용하게 활용하시기 바랍니다.