(c) Dr. Ulrike Ritter CKC gt Anna Livia Plurabelle Artemis Hoppel Benji
Wir arbeiten uns von der letzten zahl innerhalb der Wurzelapproximation nach rechts oben bis zur korrekten Quadratdifferenz, aus der die Teiler sich nach der dritten binomischen Formel ergeben.
Sollte jetzt jemand noch ungelöste Zahlen plötzlich faktorisieren können, ist es diesem kleinen Programm zu verdanken. Wir starten morgen mit der Berechnung der Starterzahl für noch ungelöste RSA Zahlen.
Als Bild unser Pyramidenfeld - im gelben Bereich ist alles innerhalb der Quadratwurzeln, darüber (hellblau exemplarisch) führt unser Programm nach rechts oben für Werte mit 'zu weit' auseinanderliegenden Faktoren.
import math
import sys
from sys import argv
import csv
from csv import reader
import re
import itertools
import pickle
// (c) CKC Dr. Ulrike Ritter GT //
q = 395
l= 40
z= 155149
n=1.00
m=1
f=1.00
y=155148
a=1
b=1
c=1
d= q*q
a= l*l
e= d-a
b= z-e
c= 2*(q-l)
n = b/c
m = int(n)
print("m, n", m, n)
f = float(n)
y= (q+m)*(q+m) - (l+m)*(l+m)
while(y < z):
print(" q+m , l+m", q+m, l+m)
q = q + m
l = l + m + 2
n = (z-(q*q - l*l))/(2*(q-l))
print("m, n", m, n)
f = float(n)
m = int(n)
y = (q+m)*(q+m) - (l+m)*(l+m)
if(y == z):
print(" q+m, l+m", q+m, l+m)
file = open("squares-out.txt","a")
file.write(str("q:"))
file.write(str(q))
file.write(str("l"))
file.write(str(l))
file.write(str("\n"))
file.close()
geschrieben in Python3
Vorteiile unseres Programms:
-nur ein Viertel der möglichen Teiler
-die größten Teiler zuerst
-Berechnung mit sehr kleinen Zahlen
* IM Moment untersuchen wir die Cluster (hellblaue, horizontale Folgen), um schließlich doch die genaue Lage einer Zahl ausgehend von ihrer trivialen Darstellung und ihrer Quadratwurzel-Approximation darstellen zu können.