| |
|
|
p.specht
| chacun beliebige natürliche numéro peut sich dans Primzahl-Faktoren décomposer. cet Tatsache ist Mathematikern sous dem de Gauss geprägten Begriff "Fundamentalsatz qui Arithmetik" bekannt. Je größer qui numéro, um so carrée-überproportional zeitaufwändig wird cet décomposition mais, car bisher wurde ne...aucune aussi pour riesige Ganzzahlen funktionierender rascher Faktorisierungsalgorithmus bekannt. oui c'est ca c'est pourquoi peux on avec cela wirksam Nouvelles verschlüsseln, car seulement derjenige, dem qui Primfaktoren bekannt gegeben volonté (z.B. einer de deux grand Faktoren plus un öffentlicher Schlüssel), qui peux qui Botschaft dans vernünftiger Zeit wieder entschlüsseln. chez pas allzu grand payons ist une décomposition cependant dans court Zeit possible, comment cela nachstehende dans XProfan-11 übersetzte Progrämmchen beweist.
Nachsatz: Selbst heutige Supercomputer ou bien sogar Quantencomputer créer une décomposition wirklich großer payons pas dans militärisch interessanter Zeit (si qui Schlacht vorbei ist, hat nämlich niemand plus quoi en). Allerdings devrait wir qui Findigkeit qui Crypto-Experten pas unterschätzen: quelqu'un hat z.B. avant einiger Zeit une derartigen Code geknackt, dans dem il ihn comme DNA-Strang synthetisierte. Anschließend wurde cette billionenfach geklont (aujourd'hui ne...aucune Problem plus, dauert ca. 19 Stunden) et schließlich par Einsatz verschiedener Enzyme, qui grand Primzahlen kodieren 8O et sich à den Strang anlagern, qui fehlende numéro herausgefiltert - somit qui Code geknackt!
Titre de la fenêtre upper$("Faktorisierung de natürlichen Zahlen")
' *******************************************
'* Sample run: *
'* ? 394616 *
'* 2 2 2 107 461 *
'* ----------------------------------------- *
'* Ref.: "Mathématiques par l'informatique *
'* individuelle (1) par H. Lehning *
'* et D. Jakubowicz, Masson, Paris, *
'* 1982" *
'* ----------------------------------------- *
'* C++ version by J-P Moreau. *
'* (www.jpmoreau.fr) *
'* XProfan Version by P.Specht, vienne (AT) *
'* sans Gewähr! No warranty whatsoever! *
'* ----------------------------------------- ********
'* Gegenprüfungsmöglichkeit: *
'* https://de.numberworld.info/faktorisierungsRechner *
' ***************************************************
set("decimals",0):windowStyle 24:font 2
Déclarer d!,eps!,m!,n!,i!:eps!=0.000001
start:
Cls:imprimer
rept:
'imprimer " Integer number to être factorized ?: ";:input n!
imprimer " Integerzahl, qui dans Primfaktoren zerlegt volonté soll ?: ";:input n!
cas n!<0:Fin
cas n!=0:n!=4294967295
si n!>4294967295:imprimer " *** Overflow Error ***\n" : goto "rept":endif
imprimer " ";
e50:
d!=n!-2*intf(n!/2)
si (abs(d!)<eps!): imprimer "2 ";: n!=n!/2: goto "e50":endif
e100:
d!=n!-3*intf(n!/3)
si abs(d!)<eps!:imprimer "3 ";: n!=n!/3: goto "e100":endif
' // All Prime numbers >3 sont of le forme 6i-1 or 6i+1
m!=floor(sqrt(n!))+1
i!=6
tandis que i!<(m!+1)
e150:
d!=n!-(i!-1)*intf(n!/(i!-1))
si (abs(d!)<eps!) :imprimer i!-1,: n!=n!/(i!-1): goto "e150":endif
e200:
d!=n!-(i!+1)*intf(n!/(i!+1))
si (abs(d!)<eps!):imprimer i!+1,: n!=n!/(i!+1): goto "e200":endif
i!=i!+6
endwhile
cas (n!>1):imprimer n!,
imprimer
si %csrlin>32:waitinput :goto "start":endif
goto "rept"
FIN
'===================== Math2.inc ==========================================
proc Sgn :parameters x!:return (x!>0)-(x!<0):endproc
proc floor :parameters x!:cas abs(x!)<(10^-35):return 0:cas x!>0
return intf(x!):return (abs(x!-intf(x!)) < 10^-35)-intf(abs(x!-1)):endproc
proc ceil :parameters x!:return -1*floor(-1*x!):endproc
proc modf :parameters x!,y!:cas abs(x!)<10^-35:return 0
cas abs(y!)<10^-35:return x!:return sgn(y!)*abs(x!-y!*floor(x!/y!)):endproc
proc remn :parameters x!,y!:cas abs(x!)<(10^-35):return 0
cas abs(y!)<(10^-35):return x!:return sgn(x!)*abs(x!-y!*floor(x!/y!)):endproc
proc IsNeg :parameters x!:return byte(Addr(x!),7)&%10000000>>7:endproc
proc frac :parameters x!:var s!=sgn(x!):x!=abs(x!):x!=x!-round(x!,0)
cas x!<0:x!=1+x!:return s!*x!:endproc
proc intf :parameters x!:var s!=sgn(x!):x!=abs(x!):x!=x!-frac(x!):return s!*x!
endproc
'============================================================================
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 16.05.2021 ▲ |
|
|
|