●斐波那契数列 斐波那契数列(Fibonacci sequence),是从1,1开始,后面每一项等于前面两项之和. 如果为了方便可以用递归实现,要是为了性能更好就用循环. ◆递归方式实现生成前30个斐波那契数 list = [] for i in range(30): if i == 0 or i == 1: list.append(1) # print(f"第{i+1}个斐波那契数是:{list[i]}") else: list.append(list[i-2]+list[i-1])
著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到: 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 如果用Python的列表生成式,很难写出来 如果用函数和生成器的话就很容易了 def fib(max): n, a, b = 0, 0, 1 while n < max: print(b) a, b = b, a + b n = n + 1 return 'done'需要注意上面的 a,b = b, a+b 相当于: t = (b
day4 --------------------------------------------------------------- 实例006:斐波那契数列 题目 斐波那契数列. 题目没说清楚,大概说的是输出制定长度的数列吧,想了想实现如下: 1 a = int(input("请输入斐波那契数列位数:")) 2 list = [] 3 for i in range(a): 4 if i <2: 5 list.append(i) 6 else: 7 list.append(l
#打印斐波那契数列的第101项 a = 1 b = 1 for count in range(99): a,b = b,a+b else: print(b) 方法2: #打印斐波那契数列的第101项 a = 1 b = 1 for i in range(2,101): if i == 100: print(a+b) b += a a = b-a
#打印斐波那契数列 f0 = 0 f1 = 1 for n in range(2,101): fn = f1 + f0 if fn <= 100: print(fn) f0 = f1 f1 = fn 方法2: #打印斐波那契数列,100以内 print(0) print(1) a = 0 b = 1 while True: c = a+b if c > 100: break a = b b = c print(c)
先占坑 后面再写详细的 import numpy as np def pow(n): a = np.array([[1,0],[0,1]]) b = np.array([[1,1],[1,0]]) n -= 1 while(n > 0): if (n % 2 == 1): a = np.dot(b, a) b = np.dot(b, b) n >>= 1 return a[0][0] n = int(input()) print(factorial(n))