雷劈数怎么写
雷劈数怎么写 请描述一下你的需求 本帖最后由 jackz007 于 2022-6-4 12:21 编辑for n in range(1000000):
c = 10
a , b = n // c , n % c
while a:
if (a + b) * (a + b) == n:
print('(%d + %d) ^ 2 = %d' % (a , b , n))
c *= 10
a , b = n // c , n % c
运行实况:
D:\\>python x.py
(8 + 1) ^ 2 = 81
(10 + 0) ^ 2 = 100
(20 + 25) ^ 2 = 2025
(30 + 25) ^ 2 = 3025
(98 + 1) ^ 2 = 9801
(100 + 0) ^ 2 = 10000
(88 + 209) ^ 2 = 88209
(494 + 209) ^ 2 = 494209
(998 + 1) ^ 2 = 998001
D:\\> 可以直接输出结果吗(要1000-10000的) for i in range(1000,10000):
i = str(i)
if len(i) % 2 != 0:
continue
a = 0
b = 0
if len(i) == 2:
a = int(i)
b = int(i)
else:
a = int(i[:int(len(i)/2)])
b = int(i)
if (a + b) ** 2 == int(i):
print(i)
运行结果:
D:\command\Python>python test.py
2025
3025
9801
页:
[1]