D


私信TA

用户名:ALS1111

访问量:22114

签 名:

等  级
排  名 55
经  验 11377
参赛次数 0
文章发表 132
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

python-摆花摆花
浏览:143

解题思路:

根据题意,符合条件的数要满足的条件为

①一个数要满足是平方数

②这个数要能拆分成两部分

③拆分成的两部分也要是平方数

注意:这里0并不是平方数

拿1681举例吧

1681是平方数,接下来要进行拆分:

1和681,681不是平方数

16和81,满足条件。


注意事项:

参考代码:

from math import sqrt  
  
def Isqure(x):          #判断一个数是否是平方数
    if x == 0:  
        return False  
  
    if sqrt(x) - int(sqrt(x)) == 0:  
        return True  
      
    return False  
  
def f(a,b):  
    for item in range(a,b+1):  
        if item > 9:  #是否满足第二个条件
            if Isqure(item):           #是否满足第一个条件 
                item = str(item)  
                l = len(item)  
                for i in range(1,l):  #进行拆分
                    if Isqure(int(item[:i])) and Isqure(int(item[i:])):  #是否满足第三个条件
                        print(item)  
                        break  
  
  
if __name__ == '__main__':  
    a,b = map(int,input().strip().split())  
    f(a,b)


 

0.0分

0 人评分

  评论区

  • «
  • »