Skip to content

02911: 受限完全平方数

http://cs101.openjudge.cn/practice/02911/

A,B都是四位数,且是完全平方数。C是一个4位数,且每一位的数字都相同。 已知C=A-B,求所有满足条件,且小于限制的A。

输入

输入一个MAX,四位数。

输出

从小到大输出所有的满足条件的A,且A应该小于MAX。

注意,每输出一个数后换行。

样例输入

样例输出

python
# 生成所有四位数的完全平方数
perfect_squares = []
for i in range(32, 100):  # 32^2 = 1024 是最小的四位数完全平方数,99^2 = 9801 是最大的四位数完全平方数
    perfect_squares.append(i ** 2)

# 生成所有每一位数字都相同的四位数
same_digit_numbers = []
for digit in range(1, 10):
    same_digit_numbers.append(int(str(digit) * 4))

# 读取输入的 MAX
MAX = int(input())

# 遍历所有可能的 A 和 B
for A in perfect_squares:
    if A >= MAX:
        continue
    for B in perfect_squares:
        if A > B:
            C = A - B
            if C in same_digit_numbers:
                print(A)