|
python版本 能算,但是很慢
a=[chr(i+64) for i in range(1,7)]
b=[[i,j,i+j,1] for i in a for j in a if i<j]
for i in range(len(b)):b[i][3]=pow(10,i)
v=[[i+j+k,pow(10,ord(i)-65)+pow(10,ord(j)-65)+pow(10,ord(k)-65),sum([n[3] for n in b if n[0] in(i+j+k) and n[1] in(i+j+k)])]for i in a for j in a for k in a if i<j and j<k]
r=[[1,n[0],n[1],n[2]] for n in v if n[0]=='ABC']
while r[0][0]<=10:
r0=r
r1=[[i[0]+1,i[1]+j[0],i[2]+j[1],i[3]+j[2]] for i in r0 for j in v if i[1][-3:]<j[0] and '6' not in str(i[2]+j[1]) and '3' not in str(i[3]+j[2])]
print(r0[0])
if len(r1)==0:
break
else:
r=r1
[1, 'ABC', 111, 100011]
[2, 'ABCABD', 1122, 1100112]
[3, 'ABCABDACD', 2223, 1001100222]
[4, 'ABCABDACDAEF', 112224, 100001001111222]
[5, 'ABCABDACDAEFBCD', 113334, 100002002211222]
[6, 'ABCABDACDAEFBCDBEF', 223344, 200002112211222]
[7, 'ABCABDACDAEFBCEBDECDE', 144444, 102022022211222]
[8, 'ABCABDACDAEFBCEBDECDFCEF', 344544, 211222022211222]
[9, 'ABCABDACEADFAEFBCFBDEBEFCDE', 454455, 212121222222222]
[10, 'ABCABDACEADFAEFBCFBDEBEFCDECDF', 555555, 222222222222222]
a=[chr(i+64) for i in range(1,13)]
b=[[i,j,i+j,1] for i in a for j in a if i<j]
for i in range(len(b)):b[i][3]=pow(1000,i)
v=[[i+j+k,pow(1000,ord(i)-65)+pow(1000,ord(j)-65)+pow(1000,ord(k)-65),sum([n[3] for n in b if n[0] in(i+j+k) and n[1] in(i+j+k)])]for i in a for j in a for k in a if i<j and j<k]
r=[[1,n[0],n[1],n[2]] for n in v if n[0]=='ABC']
while r[0][0]<=110:
r0=r
r1=[[i[0]+1,i[1]+j[0],i[2]+j[1],i[3]+j[2]] for i in r0 for j in v if i[1][-3:]<j[0] and '56' not in str(i[2]+j[1]) and '6' not in str(i[3]+j[2])]
print(r0[0])
if len(r1)==0:
break
else:
r=r1
[1, 'ABC', 1001001, 1000000000000000000000000000001001]
[2, 'ABCABD', 1001002002, 1001000000000000000000000000001001002]
[3, 'ABCABDABE', 1001001003003, 1001001000000000000000000000001001001003] |
|