-4

与えられた数が二乗であるか、または 2 つの二乗和として記述できるかを確認するプログラムを 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)
4

1 に答える 1

0

平方根の平方根の整数がターゲットである場合、何かが完全な正方形であるかどうかを確認できます

def is_square(n):
    return int(n**0.5)**2 == n

2番目の部分は少し難しいです(難しくはありませんが)

最初に、ターゲットの平方根までの int をチェックしてから 1 を追加するだけです。

for i in range(0,int(target**0.5+1)):

次に、残りの数字を取得できる残りの数字を調べる必要があります

    for j in range(i,int((target-i**2)**0.5+1)

次に、i の 2 乗 + j の 2 乗がターゲットかどうかを確認するだけですi,j

于 2015-09-25T19:19:18.913 に答える