程序如下
s={}
for ge in range(10):
for shi in range(10):
for bai in range(10):
for qian in range(10):
for wan in range(10):
for shiwan in range(0,1):
n=ge+10*shi+100*bai+1000*qian+10000*wan+100000*shiwan
if (n<100):
if((ge+shi)**2==n) and(n!=0):
s[n]=("%d=(%d+%d)**2"%(n,shi,ge))
elif (n<1000):
if((ge+bai*10+shi)**2==n):
m=bai*10+shi
s[n]=("%d=(%d+%d)**2"%(n,m,ge))
elif((ge+shi*10+bai)**2==n):
m=ge+shi*10
s[n]=("%d=(%d+%d)**2"%(n,bai,m))
elif (n<10000):
if((shi*10+ge+bai+qian*10)**2==n):
m=shi*10+ge
x=bai+qian*10
s[n]=("%d=(%d+%d)**2"%(n,x,m))
elif((ge+qian*100+bai*10+shi)**2==n):
m=qian*100+bai*10+shi
s[n]=("%d=(%d+%d)**2"%(n,ge,m))
elif((qian+bai*100+shi*10+ge)**2==n):
m=bai*100+shi*10+ge
s[n]=("%d=(%d+%d)**2"%(n,qian,m))
elif(n<=100000):
if((ge+shi+bai*10+qian*100+wan*1000)**2==n):
m=shi+bai*10+qian*100+wan*1000
s[n]=("%d=(%d+%d)**2"%(n,ge,m))
elif((ge+shi*10+bai+qian*10+wan*100)**2==n):
m=bai+qian*10+wan*100
x=ge+shi*10
s[n]=("%d=(%d+%d)**2"%(n,x,m))
elif((ge+shi*10+bai*100+qian+wan*10)**2==n):
m=ge+shi*10+bai*100
x=qian+wan*10
s[n]=("%d=(%d+%d)**2"%(n,x,m))
elif((ge+shi*10+bai*100+qian*1000+wan)**2==n):
m=ge+shi*10+bai*100+qian*1000
x=wan
s[n]=("%d=(%d+%d)**2"%(n,x,m))
for k in sorted(s):
print(s[k])