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');