def func(n):     p = 0.618     i = 0     j = n     while i<=j:         mid = int(p*i + (1-p)*j)         if abs(mid*mid-n)<=abs((mid-1)*(mid-1)-n) and abs(mid*mid-n)<=abs((mid+1)*(mid+1)-n):             return mid         elif abs((mid-1)*(mid-1)-n)<=abs(mid*mid-n) and abs(mid*mid-n)<=abs((mid+1)*(mid+1)-n):             j = mid - 1         else:             i = mid + 1
点赞 评论

相关推荐

notbeentak...:就抓,嗯抓,开不开匿名都要抓,一点坏事不让说,就对公司顶礼膜拜佩服的五体投地就对了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务