d o n a l d
+
g e r a l d
------------
r o b e r t
Найти решение при условии, что d=5.
5 2 6 4 8 5
+
1 9 7 4 8 5
------------
7 2 3 9 7 0
3628800 просмотрено вариантов
def perm(s,k=0):
global m
if(k==len(s)):
m=m+1
d,o,n,a,l,g,e,r,b,t=s
if ((d+g-r)*10**5+(o+e-o)*10**4+(n+r-b)*1000+(2*a-e)*100+(2*l-r)*10+2*d-t==0):
print ' ',d,o,n,a,l,d
print ('+')
print ' ',g,e,r,a,l,d
print (' ------------')
print ' ',r,o,b,e,r,t
else:
for i in xrange(k,len(s)):
s[k],s[i] = s[i],s[k]
perm(s, k+1)
s[k],s[i] = s[i],s[k]
m=0
perm([0,1,2,3,4,5,6,7,8,9])
print m , 'просмотрено вариантов'
print (' d o n a l d')
print ('+')
print (' g e r a l d')
print (' ------------')
print (' r o b e r t')
При публикации - нотация питона ломается.
Такой мем в сети ходит про собеседование при приеме на работу у Форда. Оказывается условие там d=5 лишнее. Перебрал все варианты 10! - других решений нет.