weishuo = input("Input :")
print('*' * 50)
number = [[x * i ** weishuo for x in range(weishuo+1)]for i in range(10)]
matchlist = [0 for x in range(10)]
s = [x for x in range(10)]
bignumber = 0
flag = 1
max = 10 ** weishuo
if weishuo is 1:
min = 0
else :
min = 10 ** (weishuo-1)
max9 = max // number[9][1]
min9 = min // number[9][1]
for s[9] in range(min9,max9+1):
for s[8] in range(0,weishuo-s[9]+1):
for s[7] in range(0,weishuo-s[9]-s[8]+1):
for s[6] in range(0,weishuo-s[9]-s[8]-s[7]+1):
for s[5] in range(0,weishuo-s[9]-s[8]-s[7]-s[6]+1):
for s[4] in range(0,weishuo-s[9]-s[8]-s[7]-s[6]-s[5]+1):
for s[3] in range(0,weishuo-s[9]-s[8]-s[7]-s[6]-s[5]-s[4]+1):
for s[2] in range(0,weishuo-s[9]-s[8]-s[7]-s[6]-s[5]-s[4]-s[3]+1):
for s[1] in range(0,weishuo-s[9]-s[8]-s[7]-s[6]-s[5]-s[4]-s[3]-s[2]+1):
bignumber = number[1][s[1]]+number[2][s[2]]+number[3][s[3]]+number[4][s[4]]+number[5][s[5]]+number[6][s[6]]+number[7][s[7]]+number[8][s[8]]+number[9][s[9]]
if bignumber < min:
break;
tempnumber = bignumber
while(bignumber):
matchlist[bignumber % 10] += 1
bignumber = bignumber // 10
for x in range(1,10):
if matchlist[x] is not s[x]:
flag = 0
break
if flag:
print(tempnumber)
matchlist = [0 for x in range(10)]
flag = 1
还没有写过文章呢,第一次发表呃。。。
也是自己没事干写着玩的。。。
用python写的。。
代码就在上面了。。。
写的嘛。。凌乱不堪喽。。
学习python也没有多长时间。。。
也就这样吧。。
这是我计算39位水仙花数字的截图。。。