HOWTO · Ruby
Ruby의 피보나치 수열
이 튜토리얼은 루비에서 피보나치 수열이 무엇인지 보여줍니다.
이 페이지의 내용
Ruby의 피보나치 수열을 예제와 함께 소개합니다.
Ruby의 피보나치 수열
우리는 피보나치 수열의 범위를 얻어야 할 수도 있고 피보나치 수열을 특정 숫자까지 얻기를 원할 수도 있습니다. Ruby를 사용하여 여러 항의 피보나치 수열을 얻을 수 있습니다.
피보나치 수열은 현재 숫자가 이전 두 숫자의 합인 일련의 숫자입니다. 예를 들어, 10까지의 피보나치 수열은 1, 1, 2, 3, 5, 8, 13, 21, 34, 55입니다.
마지막 숫자 55는 21과 34의 합이고 시퀀스의 다른 숫자는 유사하게 앞에 있는 두 숫자의 합입니다.
피보나치 수열의 처음 두 숫자를 정의하고 나머지 숫자를 5번 가져오는 예제를 통해 피보나치 수열에 대해 논의해 봅시다.
firstNum = 0
secondNum = 2
루프를 사용하여 다음 5개 숫자의 피보나치 수열을 얻습니다.
firstNum = 0
secondNum = 2
5.times do
firstNum, secondNum = secondNum, firstNum + secondNum
puts firstNum
end
출력:
위의 예는 루프를 사용하여 가능한 한 오랫동안 피보나치 수열을 얻을 수 있음을 보여줍니다.
이제 Ruby에서 특정 숫자까지 피보나치 수열을 제공하는 함수를 만들어 봅시다. 먼저 함수를 정의하겠습니다.
함수 내에서 피보나치 수열의 처음 두 단계를 정의합니다.
이제 루프를 사용하여 사용자가 전달할 숫자의 피보나치 수열을 얻습니다. 아래와 같이 전달된 숫자보다 한 번 적게 루프를 실행합니다.
def getFib(x)
firstNum, secondNum = [0, 1]
(x - 1).times do
firstNum, secondNum = secondNum, firstNum + secondNum
puts firstNum
end
end
getFib(19)
출력:
위의 예에서 알 수 있듯이 함수를 만들고 해당 함수 내에서 피보나치 수열을 정의하여 모든 숫자의 피보나치 수열을 쉽게 얻을 수 있습니다.