import numpy as np def bin_search_sqrt(num): left, right = 0, num while right - left > 1: mid = (left + right) // 2 if mid ** 2 > num: right = mid else: left = mid return right if right**2 - num < num - left**2 else left for i in range(15, 37): print(i,bin_search_sqrt(i),np.sqrt(i))输出: 16 4 4.0 17 4 4.12310562562 18 4 4.24264068712 19 4 4.35889894354 20 4 4.472135955 21 5 4.58257569496 22 5 4.69041575982 23 5 4.79583152331 24 5 4.89897948557 25 5 5.0 26 5 5.09901951359 27 5 5.19615242271 28 5 5.29150262213 29 5 5.38516480713 30 5 5.47722557505 31 6 5.56776436283 32 6 5.65685424949 33 6 5.74456264654 34 6 5.83095189485 35 6 5.9160797831 36 6 6.0看上去好像是可以的?
点赞 1

相关推荐

投递三奇智元机器人科技有限公司等公司10个岗位
点赞 评论 收藏
分享
10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务