Ruby의 피보나치 수열

Hassan Ejaz 2024년2월15일
Ruby의 피보나치 수열

Ruby의 피보나치 수열을 예제와 함께 소개합니다.

Ruby의 피보나치 수열

우리는 피보나치 수열의 범위를 얻어야 할 수도 있고 피보나치 수열을 특정 숫자까지 얻기를 원할 수도 있습니다. Ruby를 사용하여 여러 항의 피보나치 수열을 얻을 수 있습니다.

피보나치 수열은 현재 숫자가 이전 두 숫자의 합인 일련의 숫자입니다. 예를 들어, 10까지의 피보나치 수열은 1, 1, 2, 3, 5, 8, 13, 21, 34, 55입니다.

마지막 숫자 552134의 합이고 시퀀스의 다른 숫자는 유사하게 앞에 있는 두 숫자의 합입니다.

피보나치 수열의 처음 두 숫자를 정의하고 나머지 숫자를 5번 가져오는 예제를 통해 피보나치 수열에 대해 논의해 봅시다.

firstNum = 0
secondNum = 2

루프를 사용하여 다음 5개 숫자의 피보나치 수열을 얻습니다.

firstNum = 0
secondNum = 2
5.times do
    firstNum, secondNum = secondNum, firstNum + secondNum
    puts firstNum
end

출력:

처음 5개 숫자의 피보나치 시퀀스 가져오기 첫 번째 예

위의 예는 루프를 사용하여 가능한 한 오랫동안 피보나치 수열을 얻을 수 있음을 보여줍니다.

이제 Ruby에서 특정 숫자까지 피보나치 수열을 제공하는 함수를 만들어 봅시다. 먼저 함수를 정의하겠습니다.

함수 내에서 피보나치 수열의 처음 두 단계를 정의합니다.

이제 루프를 사용하여 사용자가 전달할 숫자의 피보나치 수열을 얻습니다. 아래와 같이 전달된 숫자보다 한 번 적게 루프를 실행합니다.

def getFib(x)
  firstNum, secondNum = [0, 1]
  (x - 1).times do
    firstNum, secondNum = secondNum, firstNum + secondNum
    puts firstNum
  end

end
getFib(19)

출력:

처음 5개 숫자의 복잡한 피보나치 시퀀스 가져오기 예

위의 예에서 알 수 있듯이 함수를 만들고 해당 함수 내에서 피보나치 수열을 정의하여 모든 숫자의 피보나치 수열을 쉽게 얻을 수 있습니다.