# ''' # 菲波拉契数列前几项如下:1 1 2 3 5 8 13 21……;本函数实现生成该数列的前n项的生成器(用yield关键字) # :param n: 自然数n;生成该数列的前n项的生成器, 比如n=5 # :return: 将产生生成器,该生成器依次生成1 1 2 3 5 # '''
def fblq_ls(n): if 1==n: yield 1 elif 2==n: for i in range(0,2): yield 1 else: for i in range(0,2): yield 1 a = 1 b = 1 for i in range(3,n+1): c = a+b a,b = b,c yield c if __name__ =="__main__": inner =int(input()) print(list(fblq_ls(inner)))