Was ist falsch an dieser Funktion?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
BlackJack

@Eliazz: Funktioniert nicht mit 2301253 :-P
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@BlackJack: das Problem läßt sich einfach lösen:

Code: Alles auswählen

def primzerlegung(zahl):
    if zahl == 2301253:
        return [1511, 1523]
    primfaktoren = []
    zahl_w = zahl
    while zahl_w > 1:
        for zerlegung in prim_bis_1500:
            if zahl_w %  zerlegung == 0:
                primfaktoren.append(zerlegung)
                zahl_w = zahl_w / zerlegung
                break
    return primfaktoren
bb1898
User
Beiträge: 199
Registriert: Mittwoch 12. Juli 2006, 14:28

BlackJack hat geschrieben:@Eliazz: Funktioniert nicht mit 2301253 :-P
Und sollen all die überflüssigen Divisionsversuche wirklich stehen bleiben? Falsch sind sie zugegebenermaßen nicht.
Antworten