Python中没有sqrt函数的检查数字是否为完美平方的程序
假设我们有一个数n,我们必须检查n是否是一个完全平方数。对于某个整数a,完美平方数k可以表示为k=a*a。我们必须在不使用内置平方根函数的情况下解决这个问题。
因此,如果输入类似于n=121,那么输出将为True,因为121=11*11。
示例
让我们看下面的实现来更好地理解
def solve(n):
if n == 0 or n == 1:
return True
start = 2
stop = n //2
while start <= stop:
temp = range(start, stop + 1)
k = temp[len(temp) //2]
k_squared = k * k
if k_squared == n:
return True
if k_squared > n:
start = temp[0]
stop = k - 1
else:
start = k + 1
stop = temp[-1]
return False
n = 121
print(solve(n))输入
121输出结果
True
热门推荐
8 带猫的祝福语简短
10 艾伦老师祝福语简短
11 相亲结束的祝福语简短
12 饭桌祝福语长辈文案简短
13 生日儿童气球祝福语简短
14 升学祝福语简短100个
15 弟媳离职回家祝福语简短
16 爸爸生病结婚祝福语简短
17 大学除夕祝福语简短英文
18 企业新春祝福语简短大全