데이터 - 기본 코드 및 알고리즘 연습/Codewar

[Codewars] Product of consecutive Fib numbers

Huin999 2021. 6. 25. 14:18

▶  문제 : 

▶  내 답안 : 

def F(n) :
    a, b = 0, 1 
    for i in range(n): 
        a, b = b, a+b 
    return a

def productFib(prod):
    answer = []
    n = 0 
    while True :
        r_1 = F(n)
        r_2 = F(n+1)
        if r_1*r_2 > prod :
            return [r_1, r_2, False]
        if r_1*r_2 == prod :            
            return [r_1, r_2, True]
        n += 1

▶  모범답안 : 

def productFib(prod):
  a, b = 0, 1
  while prod > a * b:
    a, b = b, a + b
  return [a, b, prod == a * b]

▶  배워야할 부분 : while 문