Mailinglisten-Archive |
Hallo Thomas, benutze doch den modulu-Operator "%". $X = "DEINE ZAHL"; $IST_PRIM = TRUE; for ( $i = 2; $i < $X ; $i++) { if ( $X % $i == 0 ) { $IST_PRIM = FALSE; break; } } Das geht wesentlich schneller. Wenn ich mich recht entsinne, kannst du auch statt $X als Grenze die Wurzel von $X nehmen, allerdings dann $i <= sqrt($X). Gruß, Olaf ----- Original Message ----- From: Thomas Pons <tom_(at)_huno.net> To: <php_(at)_php-center.de> Sent: Monday, December 18, 2000 1:49 PM Subject: [php] primzahlen > servus liste, > > ich brauch ein einfaches (schnelles) script dass check ob eine zahl ne primzahl > ist oder nicht, spontan ist mir folgendes eingefallen: > > for ($i=2; $i<=$zahl-1; $i++) > { > $x = $zahl / $i; > if(is_int($x)) > {echo "NEIN"; exit;} > } > echo "JA"; > > das ist jetzt natürlich der längste weg und bei primzahlen >100000 kann man das > vergessen. im prinzip muss ja man nur prüfen ob eine zahl durch 2 oder eine > andere primzahl teilbar ist (3,5,7 ...), aber dann muss man die wieder > ermittlen etc. und ich will mich nicht unbedingt in die mathematik stürzen. > > kennt jemand vielleicht ein fertiges script oder eine gute url für solche > sachen ? > > danke und gruß > thomas > > ps. ja ich weiss dass php vergleichsweise lahm ist was solche mathematischen > operationen angeht, aber es muss nun mal php sein. > > > -- > ** Durchgehend geöffnet: http://www.php-center.de ** > Die PHP-Liste: mailto:php_(at)_php-center.de > http://infosoc.uni-koeln.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive