| |
|
|
Jörg Sellmeyer | Mit folgendem Code puede ser el Multiplikatoren un número encontrar, que al nächsten mentira. En z. B. 20 son el entonces 5 y 4. Gleichzeitig puede ser el Función todavía como Primzahlidentifizierer benutzen.
Proc IsInt
Parámetros f!
Volver (f! - Int(f!) = 0)
ENDPROC
Proc NaheMultiplikatoren
Parámetros Wert&[],Zahl&
Declarar f1&,f2&,f!,f1!
f! = SQrt(Zahl&)
Case Zahl& = 0:Volver 0
If IsInt(f!)
Wert&[0] = f!
Wert&[1] = f!
Más
WhileLoop 0,Int(f!)
f1& = Int(f!) - &Loop
f1! = Zahl& / f1&
If IsInt(f1!)
Wert&[0] = f1&
Wert&[1] = Zahl& / f1&
Romper
EndIf
Wend
EndIf
Volver f!
ENDPROC
Cls
Declarar Test&[2],ZufallsZahl&
Selección aleatoria
Imprimir "bitte Taste oder Mausklick"
Mientras que 1
WaitInput
Cls
ZufallsZahl& = Rnd(10000000)
NaheMultiplikatoren(Test&[],ZufallsZahl&)
Imprimir "Nahe Multiplikatoren sind",Test&[0],"*",Test&[1],"=",ZufallsZahl&
Imprimir
Imprimir ZufallsZahl&,"ist",If(Test&[0] = 1,"","k");"eine Primzahl"
Wend
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 18.05.2018 ▲ |
|
|
|
|
p.specht
| Hab´s algo weiterentwickelt a una Primzahlenfinder en FLOAT-Base...
Título de la ventana "Zufallsprimzahlengenerator"
'(D)Demo 2018-05 by P.Pájaro carpintero/Wien, después de uno Concepto de Jörg Sellmeyer
proc frac :parámetros x!:var s!=(x!>0)-(x!<0):x!=abs(x!)
x!=x!-round(x!,0):caso x!<0:x!=1+x!:volver s!*x!
ENDPROC
proc intf :parámetros x!
var s!=(x!>0)-(x!<0)
x!=abs(x!)
x!=x!-frac(x!)
volver s!*x!
ENDPROC
Proc IsIntf
Parámetros f!
Volver (f! - Intf(f!) = 0)
ENDPROC
Proc NaheMultiplikatoren
Parámetros Valor![],Zahl!
Declarar a!,f_0!,f_1!
f_0! = Sqrt(Zahl!)
Case Zahl!=0:Volver 0
If IsIntf(f_0!)
Valor![0] = f_0!
Valor![1] = f_0!
Más
WhileLoop 0,Intf(f_0!)
a! = Intf(f_0!) - &Loop
f_1! = Zahl! / a!
If IsIntf(f_1!)
Valor![0] = a!
Valor![1] = Zahl! / a!
Romper
EndIf
Endwhile
EndIf
Volver f_0!
ENDPROC
Cls
Declarar Test![1],ZufallsZahl!
Selección aleatoria:set("decimals",1)
Mientras que 1
ZufallsZahl! = intf(10000000.00000*Rnd()+rnd())
NaheMultiplikatoren(Test![],ZufallsZahl!)
If (Test![0]=1.0) and (Test![1]>1.0)
cls
Imprimir "\n Nah-Multiplikatoren:",Test![0],"*",Test![1],"=",ZufallsZahl!
' If (Test![0]=1.0) and (Test![1]>1)
font 2
imprimir "\n Diese Zufallszahl es una Primzahl!"
sound 60,16
font 0
waitinput 1000
Endif
Endwhile
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 19.05.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | Como sería Yo sí más Doubles Quadint (meinte Yo natürlich!) como Übergabeparameter nehmen. Und si sólo a Primzahlen va, puede ser el sí todavía muy beschleunigen, si uno 0 zurückgibt, sobald el erste Multiplikant <> 1 gefunden es. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.05.2018 ▲ |
|
|
|
|
p.specht
| Stimmt, danke! Bin aber todavía en XProfan-11, warte en el Vollversion de X4. Ausserdem se ejecuta el Bucle dzt. sólo Integers. Wenn´s en Float demasiado tiempo dauert, debería uno en Inline-Ensamblador ausweichen. Su Concepto es aber super! |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 20.05.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | Und uno kann natürlich vornedran auch todavía una Sieb einbauen, en el todos Pagar hängenbleiben, el por 2,3,5,7,11,13,17,23,... primzahl&& teilbar son y una Valor > 1 ergeben. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.05.2018 ▲ |
|
|
|
|
p.specht
| ..y Mersenne-Primzahlen trabajo... como hay Formeln. Yo brauche aber echte Zufallsprimeln para RSA, como kann lo ruhig algo länger dauern |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 20.05.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | Das Sieb es sí sólo, en el Vorgang a beschleunigen, indem Pagar más rápido rausgeworfen voluntad, el no Primzahlen son.
Also:
|
|
|
| |
|
|
|
p.specht
| Alles klar. So, bin entonces otra vez en Paules PC-Foro / Xprofan para encontrar... |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 20.05.2018 ▲ |
|
|
|