python作业

it2024-08-02  39

**

长安

**

m=0 def dfs(x,y,b1,b2,p1,p2): global m#全局变量 if x==p1 and y==p2: return #边界 elif x>b1 or y>b2: return #边界 elif b1==x and b2==y: m=m+1 #记录次数 return dfs(x,y+1,b1,b2,p1,p2) #向右 dfs(x+1,y,b1,b2,p1,p2) #向上 L1 = list() while True: b1,b2,p1,p2= map(int, input().split(',')) if b1<0 or b2<0 or p1<0 or p2<0: break else: L1.extend([ [b1,b2,p1,p2] ]) #二维列表 for i in range(len(L1)): dfs(0,0,L1[i][0],L1[i][1],L1[i][2],L1[i][3]) print(m) m=0

吃糖果

经典递归或者递推

def F(n): if n==1 or n==0: return 1 return F(n-1)+F(n-2)#吃一个还是吃两个 L1=list() while True: n=int(input()) if n==0: break else: L1.append(n) for i in range(len(L1)): print( F(L1[i]) )

爬楼梯

题都一样,用递推试试

L1=list() while True: n=int(input()) if n==0: break else: L1.append(n) for i in range(len(L1)): F1=1 F2=1 F3=2 if L1[i]==0: print(F1) elif L1[i]==1: print(F1) elif L1[i]==2: print(F3) else: F4=0 for j in range(L1[i]-2): F4=F3+F2+F1 F1=F2 F2=F3 F3=F4 print(F4)
最新回复(0)