| |
|
|
p.specht
| Each arbitrary natural number can itself in Primzahl-factors decompose. These fact is Mathematikern under the of Gauss geprägten concept "Fundamentalsatz the Arithmetik" famous. apiece larger The number, circa so quadratic-überproportional zeitaufwändig becomes these Zerlegung but, because yet watts no too for gigantic Ganzzahlen funktionierender rascher Faktorisierungsalgorithmus famous. very therefore can so wirksam Messages code, because only derjenige, the The Primfaktoren famous given go (z.B. of/ one two large factors plus one more public Key), the can The message in vernünftiger Time again decode. with not too large numbers is a Zerlegung however in kurzer Time possible, How the nachstehende in XProfan-11 übersetzte Progrämmchen proving.
Nachsatz: self Today Supercomputer or even Quantencomputer create a Zerlegung really great numbers not military interessanter Time (If the battle past is, has namely nobody More what of it). though should we The Findigkeit the Crypto-Experten not unterschätzen: someone has z.B. to some Time a derartigen code geknackt, in the it it as DNA-before synthetisierte. subsequently watts this billionenfach geklont (today no trouble More, lasts ca. 19 hours) and finally through employment verschiedener Enzyme, The large Primzahlen code 8O and itself on whom before anlagern, The fehlende number herausgefiltert - accordingly the code geknackt!
Window Title upper$("Faktorisierung of natural 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.woodpecker, Wien (AT) *
'* without Gewähr! No warranty whatsoever! *
'* ----------------------------------------- ********
'* Gegenprüfungsmöglichkeit: *
'* https://de.numberworld.info/faktorisierungsRechner *
' ***************************************************
set("decimals",0):windowStyle 24:font 2
Declare d!,eps!,m!,n!,i!:eps!=0.000001
start:
Cls:print
rept:
'print " Integer number to be factorized ?: ";:input n!
print " Integerzahl, The in Primfaktoren zerlegt go should ?: ";:input n!
case n!<0:End
case n!=0:n!=4294967295
if n!>4294967295:print " *** Overflow Error ***\n" : goto "rept":endif
print " ";
e50:
d!=n!-2*intf(n!/2)
if (abs(d!)<eps!): print "2 ";: n!=n!/2: goto "e50":endif
e100:
d!=n!-3*intf(n!/3)
if abs(d!)<eps!:print "3 ";: n!=n!/3: goto "e100":endif
' // All Prime numbers >3 are of the shape 6i-1 or 6i+1
m!=floor(sqrt(n!))+1
i!=6
while i!<(m!+1)
e150:
d!=n!-(i!-1)*intf(n!/(i!-1))
if (abs(d!)<eps!) :print i!-1,: n!=n!/(i!-1): goto "e150":endif
e200:
d!=n!-(i!+1)*intf(n!/(i!+1))
if (abs(d!)<eps!):print i!+1,: n!=n!/(i!+1): goto "e200":endif
i!=i!+6
endwhile
case (n!>1):print n!,
print
if %csrlin>32:waitinput :goto "start":endif
goto "rept"
END
'===================== Math2.inc ==========================================
proc Sgn :parameters x!:return (x!>0)-(x!<0):endproc
proc floor :parameters x!:case abs(x!)<(10^-35):return 0:case 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!:case abs(x!)<10^-35:return 0
case abs(y!)<10^-35:return x!:return sgn(y!)*abs(x!-y!*floor(x!/y!)):endproc
proc remn :parameters x!,y!:case abs(x!)<(10^-35):return 0
case 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)
case 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'... | 05/16/21 ▲ |
|
|
|