Ruby의 피보나치 수열
Hassan Ejaz
2024년2월15일
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)
출력:
위의 예에서 알 수 있듯이 함수를 만들고 해당 함수 내에서 피보나치 수열을 정의하여 모든 숫자의 피보나치 수열을 쉽게 얻을 수 있습니다.