You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

a)

function boolean = isPrime(N)
boolean = true;
if N < 3
boolean = false;
end
for a = 3:2:ceil(sqrt(N)) 
    if mod(N, a) == 0
        boolean = false;
        return;
    end
end
end

b)

function primeList = getPrimeList(N)
primeList = zeros(1, N); % preallokerer
primeList(1) = 2;
pos = 1;
numberToCheck = 3;
while primeList(end) == 0
    isPrime = true;
    for i = 1 : pos
        if mod(numberToCheck, primeList(i)) == 0
            isPrime = false;
            break
        end
    end
    if isPrime
    pos = pos + 1;
    primeList(pos) = numberToCheck;
    end
    numberToCheck = numberToCheck + 2;
end
end

c)      

     104743.

d)

les = fopen('prim.txt','r');
if les ==-1
    break;
end
A = fscanf(les,'%f');
if isempty(A)  % Om filen er tom skriver vi '2' inn i den.
    x = 2;
    A(1)= 2;
    skriv = fopen('prim.txt','w');
    fprintf(skriv, '%20f\r\n',x);
else %  Ellers skriver vi inn alt,
    skriv = fopen('prim.txt','w');
    x = A(end);
    fprintf(skriv, '%20f\r\n',A);
end
while (length(A) < 1500200)
    
    x = x + 1;
    i=1;
    prime = 1;
    while sqrt(x)>= A(i)
        if x/A(i) == floor(x/A(i))
            prime = 0;
            break;
        end
        i = i+1;
    end
    
    
    if prime % Legger det til i listen, og til filen.
        fprintf(skriv, '%20f\r\n',x);
        A = [A; x];
    end
end
fclose('all');

  • No labels