Je vais partir donc je mets la solution (je pense qu'il y a bcp plus simple) mais essaie de faire de toi même avant de regarder!
def probleme():
N = 100_000_000
for i in range(1,N):
### On transforme 233155 en '233155'
diviseur = str(i)
quotient = str(N//i)
reste = str(N - N//i*i)
### On transforme '233155' en ['2','3','3','1','5','5'] puis
### en supprimant les doublons en ['2','3', '1', '5']
diviseur = list(set([c for c in diviseur]))
quotient = list(set([c for c in quotient]))
reste = list(set([c for c in reste]))
### On trie ['2','3', '1', '5'] devient ['1', '2', '3', '5']
diviseur.sort()
quotient.sort()
reste.sort()
### Les 3 quantités diviseur, quotient, piochent dans les mm chiffres
### si les 3 listes transformées précédemment sont exactement les mêmes
if diviseur == quotient and quotient == reste :
print(i, diviseur, quotient, reste)
return i