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 ^^
------------------------------------------
Code: Select all
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.



