我在python中创建了一个程序来检查一个给定的数字是否为正方形,或者可以写成两个正方形的总和,但它不起作用。请帮助我。
def sum(num):
def m(a):
b=a
for item in range(a):
b=b-1
if a==b*b:
return(a)
c=num
for item in range(1,num):
c-=1
if m(c)==c and m(d)==d:
print(num)
答案 0 :(得分:0)
如果平方根平方的int是其目标
,你可以检查某些东西是否是完美的正方形def is_square(n):
return int(n**0.5)**2 == n
第二部分有点难(虽然不难)
首先,您只需要检查目标的平方根,然后加1
for i in range(0,int(target**0.5+1)):
然后你需要查看余下的数字,你可以用
获得剩余的数字 for j in range(i,int((target-i**2)**0.5+1)
然后你所要做的就是检查我是否平方+ j平方是你的目标,如果它是i,j
是你的解决方案之一