## Untersucht die Zahlen zwischen Startwert und Endwert auf die maximale multiplikative Persistenz
##
## Entsprechend der Idee des Videos von https://www.youtube.com/watch?v=Wim9WJeDTHQ
##

def produkt(n,j=0):
    if len (str(n))==1:
        
        return j
    else:
        j=j+1
        ergebnis=1
        ziffern =[int(i) for i in str(n)]
        for z in ziffern:
            ergebnis=ergebnis*z
        
        j=produkt(ergebnis,j)
        return j

sn=int(input("Startwert ?"))
en=int(input("Endwert ?"))
mx=1
mxn=sn

for n in range(sn,en):
    anz=produkt(n,0)
    if anz>mx:
        print(n,anz)
        mx=anz
        mxn=n
print("Im zu untersuchenden Bereich zwischen",sn,"und",en,"liegt die größte Persistenz von",mx," erstmals vor bei:",mxn)

