021
13.10.2003, 07:29 Uhr
Pablo
Supertux (Operator)
|
Zitat: |
~(un)wissender postete @virtual Die Methode bool Primzahl ist schon fast perfekt, du kannst aber noch was an Performace rausholen, indem du i*i durch sqrt((foat)zahl) ersetzt. Damit du nicht durch Rundungsfehler eine Primzahl unterschlägst muss sqrt((foat)zahl) immer aufgerundet werden, auch bei weniger als .5 (obere Gaussklammer?)
|
Und und sie ist besser, wenn man nur mit den Primzahlen teilt.
C++: |
if(zahl%i==0) return false;
|
Wenn i Prim ist und nur prim, dann geht auch schneller, den bisher haben wir nur um 2 erhöht, damit man nur ungerade Zahlen hat. Aber man kann sie schon herausgefundene Primzahlen in ein Array oder sowas speichern und i nur mit den Eintragen vom Array setzen. Dann läuft die Primzahl-Funktion noch schneller. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |