Español
Fuente/ Codesnippets

Nahe Multiplikatoren un número encontrar Primzahl

 

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 11
Computer: 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 11
Computer: 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:
If (Eingang&& \ Prim&&) > 1

    Imprimir "kann no Primzahl sein"
    volver 0

ElseIf (Eingang&& \ NaechstePrim&&) > 1

    ...

EndIf

 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
20.05.2018  
 




p.specht

Alles klar.
So, bin entonces otra vez en Paules PC-Foro / Xprofan para encontrar...
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
20.05.2018  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

9.178 Views

Untitledvor 0 min.
Matzbub26.01.2024
Stringray05.01.2022
p.specht18.11.2021
Roland Schäffer18.11.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

p.specht (4x)
Jörg Sellmeyer (4x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie