|  | 
 
 发表于 2018-9-10 13:32:50
|
显示全部楼层 
| 本帖最后由 FC的注册很坑 于 2018-9-11 16:44 编辑 
 复制代码def fab(n):
    a=[]
    for i in range(0,n):
        if i==0:
            a.append(1)
        elif i==1:
            a.append(1)
        else:
            a.append(a[i-1]+a[i-2])
    return a[n-1]
def zc(n):
    st=str(n)
    l=len(st)
    sum=0
    
    for i in range(l):
        sum+=int(st[i])
    if n%sum==0:
        return True
    else:
        return False
count=7
total=1
while total<=10:
    a=fab(count)
    count+=1
    if zc(a):
        print(a,end=" ")
        total+=1
复制代码# 时间复杂度为O(lg n)
import numpy as np
def fab(n):
    k=np.array([[1,1],[1,0]])
    a=np.array([[2,1],[1,1]])
    for i in range(n-3):
        a=a@k
    return a[0][0]
 | 
 评分
查看全部评分
 |