平方数之和(python)

平方数之和
题目内容:

给定一个非负整数n,判别是否存在两个非负整数a,b,使得n=a^2+b^2;a和b可以相同

 

输入格式:

一个整数,代表上述n,其中0<=n<=2^31-1

 

输出格式:

一个Boolean值,其中True代表存在这样的两个非负整数,False代表不存在

 

输入样例1:

288

 

输出样例1:

True

说明:288=12^2+12^2

 

输入样例2:

287

 

输出样例2:

False

import math
num = int(input())

def judge(num):
    a = round(math.sqrt(num))
    for i in range(0, a):
        b = float(math.sqrt(num-i*i))
        if b==(int(b)):
            return True
    return False
print(judge(num))

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632