# 采用【蛮力法】、【二分法】求解 floor(sqrt(n))
# 【蛮力法】求解 floor(sqrt(n))
def sqrt_BruteForce(n):
print("【蛮力法】求解:")
result = -1
for i in range(0, n + 1):
if(i * i == n):
print(" floor(sqrt({})) = {}".format(n, i))
result = i
break
if(i * i > n):
print(" floor(sqrt({})) = {}".format(n, i - 1))
result = i - 1
break
return result
# 【二分法】求解 floor(sqrt(n))
def sqrt_BinarySearch(n):
print("【二分法】求解:")
result = -1
left = 1
right = n
while right - left > 1: # 当 左标记和右标记相等,或者挨着时(比如left=5,right=6),‘左标记’即为结果
middle = (left + right) // 2
if(middle * middle > n):
right = middle
if(middle * middle < n):
left = mi
【Python算法作业】设计一个计算⌊√n⌋的算法,n是任意正整数。除了赋值和比较运算,该算法只能用到基本的四则运算。(⌊√n⌋是根号n向下取整)# 采用【蛮力法】、【二分法】求解 floor(sqrt(n))# 【蛮力法】求解 floor(sqrt(n))def sqrt_BruteForce(n): print("【蛮力法】求解:") result = -1 for i in range(0, n + 1): if(i * i == n): print("