解题思路:
根据题意,符合条件的数要满足的条件为
①一个数要满足是平方数
②这个数要能拆分成两部分
③拆分成的两部分也要是平方数
注意:这里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 人评分
C二级辅导-计负均正 (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题9.4 (Java代码)浏览:1447 |
简单的a+b (C语言代码)浏览:564 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:366 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:523 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:756 |
C二级辅导-等差数列 (C语言代码)浏览:806 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:587 |
简单的a+b (C语言代码)浏览:683 |