"""  Exercice 2.17 :    opérations cryptées 
                        question 2 : CINQ x SIX=TRENTE  ( 9 variables ) """
solutions=[] 
for C in range(10) :
    for I in range(10)  :
        if I==C : continue
        for N in range(10)  :
            if N==I or N==C : continue
            for Q in range(10)  :
                if Q==N or Q==I or Q==C : continue
                for S in range(10)  :  
                    if S==Q or S==N or S==I or S==C : continue
                    for X in range(10)  :
                        if X==S or X==Q or X==N or X==I or X==C : continue
                        for T in range(10)  :
                            if T==X or T==S or T==Q or T==N or T==I or T==C : continue
                            for R in range(10)  :
                                if R==T or R==X or R==S or R==Q or R==N or R==I or R==C : continue
                                for E in range(10)  :
                                    if E==R or E==T or E==X or E==S or E==Q or E==N or E==I or E==C : continue
                                    num1=C*10**3+I*10**2+N*10+Q
                                    num2=S*10**2+I*10+X
                                    num3=T*10**5+R*10**4+E*10**3+N*10**2+T*10+E
                                    if num1*num2==num3 :
                                        solutions.append(str(num1)+'\u00D7'+str(num2)+'='+str(num3))
if len(solutions)==0 :
    print("Ce problème n'a pas de solution.")
elif len(solutions)==1 :
    print("C'est un bon problème qui n'a qu'une solution : "+solutions[0])
else :
    print("Il y a {} solutions : ".format(len(solutions)))
    for i in range(len(solutions)):
        print("Solution n°{} : {}".format(i+1,solutions[i]))


    





