方案一直接求,速度快,占用内存相对较大,320,4584
for i in range(10000, 100000): i = str(i) if int(i[0]) * int(i[1:]) + int(i[0:2]) * int(i[2:]) + int(i[0:3]) * int(i[3:]) + int(i[0:4]) * int(i[4:]) == int(i): print(i, end=' ')
方案二 二次循环,整洁,速度较慢,占用内存较小,435,4496
for i in range(10000, 100000): i = str(i) sum_i = 0 for j in range(1, 5): sum_i += int(i[:j]) * int(i[j:]) if sum_i == int(i): print(sum_i, end=' ')