[题目描述]
 3025 这个数具有一种独特的性质:将它平分为二段,即 30 和 25,使之相加后求平方,即 (30+25)^2,恰好等于 3025 本身。请求出具有这样性质的全部四位数。
输入格式:
 此题没有输入。
输出格式:
 输出满足题意的全部四位数(从小到大输出,且数之间用两个空格分开)。
样例输入
 样例输出
 数据范围:
 对于 100% 的数据,保证都符合题目要求。
提示说明:
 根据题意可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。具体算法实现,可任取一个四位数,将其截为两部分,前两位为 a,后两位为 b,然后套用公式计算并判断。
来源/分类(难度系数:一星)
完整代码展示:
 # coding=utf-8
 c=[]
 for i in range(1000,10000):
      a=i//100
      b=i%100
      if (a+b)**2==i:
           c.append(i)
 for j in range(0,len(c)-1):
      print(c[j],end=" ")
 print(c[-1])
代码解释:
 “c=[] ”,建立一个空列表c,用于储存符合条件的四位数。
 “for i in range(1000,10000):
        a=i//100
        b=i%100
        if (a+b)**2==i:
             b.append(i)                 ”,依次遍历1000~9999的所有数,令a=i//100,b=i%100。查找符合条件的i(即(a+b)**2==i),并将其添加进列表c中。
 “for j in range(0,len(c)-1):
        print(c[j],end=" ")
  print(c[-1])                         ”,先依次打印c中除c[-1]外的所有元素,且每两个元素之间插入一个空格。最后打印c[-1]。
运行效果展示:

 
(声明:以上内容均为原创)



















