Meine Frage:
Hi,
also wir hatten die Aufgabe eine SAGE- Funktion zu implementieren, in der die Pollard_Rho Methode angewendet wird. Startwert ist x=1, n=1763 und f(x)=x^2+1.
Die Schleifendurchläufe mussten auch mit angegeben werden. So weit, so gut, das haben wir bereits geschafft, alles funktioniert und unsere Übungsleiter meinten auch, dass die Funktion richtig sei.
Nun sollten wir unsere Funktion noch auf die Fermat- Zahlen anwenden, um für alle Primteiler von zu berechnen.
Unser Problem ist jetzt, dass unser Programm schon für n=5 zu lange braucht und mittendrin abbricht. Habt ihr eine Idee, wie wir unser Problem lösen können?
Meine Ideen:
Hier einmal unsere Funktion:
def pollard_rho(n,c=1,x=1):
...y = x
...d = 1
...i = 1
...while d == 1:
......x=(n**x+2)%c
......y=(y**2+c)%n
......y=(y**2+c)%n
......d=gcd(abs(x-y),n)
......i=i+1
...return x, y, d, i