Primzahler Programm???



  • geb ich auch noch meinen Senf dazu, die ganz, ganz simple Variante Primzahlen zu suchen:

    das ganze verwendet double's statt ints, damit man auch richtig grosse Zahlen verwenen kann... sowas wie __int64 kannte ich damals noch nicht *g*

    double isPrimeNumber(double& dblNumber)
    
    /********************************************
            TAKES: dblNumber: Double to test
            RETURNS: Number dividing dblNumber
    *********************************************/
    
    {
    	double dblSquare;
    	dblSquare = sqrt(dblNumber);
    
    	// special handling for the Number "2"
            if ((dblNumber / 2) * 2 == dblNumber) return 2;
    
    	for(double j = 3; j <= dblSquare; ++j)
    	        if ((dblNumber / j) * j == dblNumber) return j;
    
            return 0;    // return 0 if dblNumber could not be divided (= IS A PRIME NUMBER!!!)
    }
    

    EDIT: das Stueck Code ist schon ziemlich alt, also bitte kein Gemecker vonwegen schlechter Coding-Stil oder so... 😉 😃



  • Ich habe heute mein lehrer gefragt und er sgte man kann das mit den sieb des euklidis berchnen. Aber wie. danke leute ihr seit wirklich nett 👍



  • @Blue-Tiger: Dein Code funktioniert nicht. Gibt es überhaupt eine Zahl, die dein Code als Primzahl erkennt?



  • Master User schrieb:

    Ich habe heute mein lehrer gefragt und er sgte man kann das mit den sieb des euklidis berchnen. Aber wie. danke leute ihr seit wirklich nett 👍

    Ich glaube nicht, dass es ein "Sieb des Euklids" gibt. Er meint sicherlich das Sieb des Erathostenes. Das entspricht den oberen beiden von mir gezeigten Programmen.



  • Gregor schrieb:

    @Blue-Tiger: Dein Code funktioniert nicht. Gibt es überhaupt eine Zahl, die dein Code als Primzahl erkennt?

    humm... kann gut sein, ich hab den Code aus einem Uralt-Projekt, und selbst da war er auskommentiert... 😃

    Aber tausch mal alle "double" durch int's aus, dann sollte es gehen.... behaupt ich einfach mal auf den 1. Blick 😃



  • Blue-Tiger schrieb:

    Aber tausch mal alle "double" durch int's aus, dann sollte es gehen.... behaupt ich einfach mal auf den 1. Blick 😃

    Ist diese Bedingung wahr oder falsch:

    x/y*y == x



  • hallo!

    google mal nach sieb des Eratosthenes .

    Viel spass 🙂



  • @Shade: ohne Klammerung?



  • Shade Of Mine schrieb:

    Blue-Tiger schrieb:

    Aber tausch mal alle "double" durch int's aus, dann sollte es gehen.... behaupt ich einfach mal auf den 1. Blick 😃

    Ist diese Bedingung wahr oder falsch:

    x/y*y == x

    die Bedingung ist wahr, wenn y Teiler von x ist.... Vorrausgesetzt, x und y sind int, sonst nur wenn man

    int(x/y) * y == x

    macht und y nur natuerliche Zahlen sind... ist eine andere Moeglichkeit,

    x % y == 0

    zu schreiben



  • google googlet sich in seiner nasse


Anmelden zum Antworten