#给定一个从0到100的整数集合,从这个集合中用二分查找搜索出39这个整数 list=[] x=0 i=0 for i in range(1,101): list.append(i) a=len(list) print(list) print(a) def find (a,s,t,x): while(s<=t): mid=int((s+t)/2) if(a[mid]<x): s=a[mid]+1 elif(a[mid]>x): t=a[mid]-1 else : return mid+1 return -1 print(find(list,1,100,39))
#给定一个从0到100的整数集合,从这个集合中用随机性算法(随机行走理论)完成搜索出39这个整数 import random i=0 position=0#设置初始位置 walk=[]#保存位置 print('请输入步数') steps=int(input())#设置步数 for i in range(steps): step=1 if random.randint(0,1) else -1#如果随机值等于0则step为1,反之为-1 position+=step#改变位置(正,负) i+=1 walk.append(position) if(position==29): print('在第%d次之后找到%d'%(i,position)) print(walk)