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