In Python2.7 möchte ich endliche Sequenzen für eine gegebene ganze Zahl erzeugen, indem ich die Summe der Primfaktoren (sopfr) -Funktion über das Ergebnis (s) wiederhole, bis eine Primzahl erreicht ist . Der folgende Code für sopfr (n) stammt von OEIS A001414.Python-Summe von Primfaktoren funktioniert, um endliche Sequenz zu erzeugen
from sympy import factorint
def sopfr(n):
return sum(p*e for p, e in factorint(n).items())
>>>sopfr(888)
46
>>>
Ich mag würde diesen Code ändern, so dass er dieses Ergebnis geben wird
>>>sopfrs(888)
46 25 10 7
>>>
Wo 46 = sopfr (888), 25 = sopfr (46) ... und so weiter, bis das in einem prime endet, in diesem Fall 7. Ich habe etwas gelesen und experimentiert mit while
und for
Schleifen ohne Glück. Experimente, die, ich bin sicher, würde für ein Lachen gut sein. Verzeihen Sie den Anfänger Charakter dieser Frage, jede Hilfe würde geschätzt werden.
fühlt sich an wie sopfrs aussehen könnte: wenn n eine Primzahl (sopfr (n)) sonst einen Block von Druck tun sopfr (n) und rufende sopfrs (sopfr (n)) –