Miért hibázik a prímszámkereső programom?
Ez egy program ami egy beírt intervallumon belül kiírja az összes prímszámot .A hiba az az , hogy totál véletlenszerűen nem ír ki bizonyos prímeket . Van úgy mindet megtalálja ,van úgy egyet kihagy másikban az van meg és megint egy másik hiányzik .
A program amúgy nagyon gyors (a maga módján) 2000000-ig 15 másodperc alatt kiszámolja a prímeket .
Hallottam ilyenről ,hogy a natív kódú (ami közvetlenül a processzoron fut) programok ejthetnek számítási hibákat.
A forráskód hibátlan , randomizálás nincs benne szóval a hibát erre tudnám visszavezetni .
Ha valaki tudná mi a gond vagy ötlete is van a megoldásra kérem írja le .
Oké visszavettem . Miért hibázik a prímszámkereső programom?
Kérlek titeket mikor állítotok valamit akkor magyarázzátok meg azt .
Nem beszéljél így rólam, miközben egy normális kódot nem tudsz összerakni. Már nem kell 0,3 sec futásidő, redukáltam 0,1 sec-re... Nesze, itt a kód:
#include <stdio.h>
int main() {
FILE *fp;
char a[2000001];
int i, j, k;
fp = fopen("results","w");
if(!fp) {
printf("i/o hiba.\n");
return 1;
}
for(i = 1;i < 2000001;i++) a[i] = 0;
a[2] = 1, fprintf(fp,"%d\n",2);
for(i = 3;i < 2000001;i += 2)
if(!a[i]) {
a[i] = 1, fprintf(fp,"%d\n",i);
for(j = 1, k = i;j < 2000000/i;j++) k += i, a[k] = 2;
}
fclose(fp);
return 0;
}
Valaki segíthetne nekem is.
Php-ban írtam kódot, olyan 500.000-ig minden rendben, utána megtelik a memóriám. Tud valaki valamit a php memóriakezeléséről?
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /home/qrzy/public_html/Dropbox/www/help/prim.php on line 13
<?php
$max = 600000;
$p = array();
for($i=0;$i<$max;$i++){
array_push($p,$i);
}
unset($p[0]);
unset($p[1]);
foreach($p as $key => $value){
for($i=$key;$i<$max/$key;$i++){
unset($p[$key*$i]);
}
}
/*foreach($p as $key => $value){
print($key);
}*/
?>
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!