Spørsmålet mitt blir da like mye matematisk som basert på programmering.
Hva er den mest effektive metoden en kan benytte seg av for å teste om et tilfeldig tall er primtall i matlab?
Selv tenkte jeg med en gang "Sieve of Eratosthene" men den var litt vanskelig å implementere.
Hadde vært artig om noen skrev noen koder, og sammenlignet for å teste hastighet, og kanskje også nøyaktighet ^^
------------------------------------------
Kode: Velg alt
function Y = Primtall(a)
n=1;
if a<2
Y=0;
return
else
for i=2:n:(floor(sqrt(a)))
if a/i==round(a/i)
Y=0;
return
end
n=n+1;
end
end
Y = 1;
end
Litt usikker på om denne funker, men testet den for et par tall. Og den gir meg i det minste rett svar, for de få tallene jeg prøvde.
edit: virker ikke helt optimalt, for defleste verdier er den lavere. Mens for ndre går dn i taket.