1.汉诺塔
def hanoi(n,a,b,c):
global count
if n==1:
print("[STEP{:>4}] {}->{}".format(count,a,c))
count+=1
else:
hanoi(n-1,a,c,b)
hanoi(1,a,b,c)
hanoi(n-1,b,a,c)
n=int(input())
count=1
hanoi(n,'A','B','C')
2.分治法找硬币
def fun(ls,start,n):
if n==1:
return start
half=n//2
l=sum(ls[start:start+half])
r=sum(ls[start+half:start+half+half])
if l==r and half*2<n:
return start+n-1
elif l>r:
return fun(ls,start+half,half)
elif l<r:
return fun(ls,start,half)
else:
return 0
coins=list(map(eval,input().split(',')))
flag=fun(coins,0,len(coins))
if flag==0:
print("Fake coin is not found")
else:
print("Fake coin:{}".format(flag))