数字是 Square 或者可以写成两个平方和 python

number which is Square or can be written as sum of two squares python

我在 python 中创建了一个程序来检查给定数字是否为平方或可以写成两个平方和,但它 work.please 对我没有帮助。

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)

如果某物的平方根的整数是它的目标,你可以检查它是否是一个完美的正方形

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)

那么您所要做的就是检查 i 平方 + j 平方是否是您的目标,如果它比 i,j 是您的解决方案之一