is not prime number command , function to find the nearest prime number

1 view (last 30 days)
This is the code I have written :
function[k]=next_prime(n)
k=n
while ( k~=isprime(k))
k=k+1
if k~isprime(k)
end
end
I have tried to see what my error is by writing a similar function for the next nearest integer that divides by 5, and another function for the next nearest integer.
function[k]=mod5(n)
k=n
while ( mod(k,5)~=0)
k=k+1
end
end
The first function works as expected.
function[k]=nextint(n)
k=n
while ( k~=isinteger(k))
k=k+0.1
end
end
The second one, I seem to be having a similar issue as for the prime function ... it just keeps going adding 1 (0.1 respectively).
(I note that if i set k=1 and write the comman ' k~=isprime(k) ' it returns logical true , 1, whereas we would expect logical false? )
Many thanks for your help.

Answers (2)

Matt J
Matt J on 27 Jul 2020
Edited: Matt J on 27 Jul 2020
function k=next_prime(n)
k=n
while ~isprime(k)
k=k+1
end
end

Prahelika Gayatri N
Prahelika Gayatri N on 28 Jul 2020
function[k]=next_prime(n)
j=0;
while n>0
if j>n && isprime(j)
k=j;
return
end
j=j+1;
end

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!