Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 297267

Submitted on 6 Aug 2013 by Bart

Correct

16Size
This is the leading solution.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

This solution is outdated. To rescore this solution, log in.

Test Suite

Test
Code Input and Output
1
Pass
 
feval(@assignin,'caller','score',55);

                    
2
Pass
 
%%
tic
assert(isequal(primes_faster_large(1),primes(1)))
assert(isequal(primes_faster_large(2),primes(2)))
for i=1:10
 n=randi(2000,1);
 assert(isequal(primes_faster_large(n),primes(n)))
end
toc
Elapsed time is 0.014668 seconds.
3
Pass
 
%%
tic
ta=clock;
 p = primes_faster_large(2^30);
t1=etime(clock,ta); % time in sec
fprintf('P 2^30 %12i %10.3f\n',length(p),t1)
assert(isequal(length(p),54400028))
assert(all(diff(p)>0))
%assert(isequal(size(unique(p),2),54400028))
ptr=randi(7603553,1,10); % small to avoid timeout
pchk=p(ptr);
assert(all(isprime(pchk)))
feval(  @assignin,'caller','score',floor(min(55,t1))  );
toc
P 2^30     54400028     16.265
Elapsed time is 17.335207 seconds.