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
点赞 评论

相关推荐

04-03 15:12
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务