Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Sara Ismail-Sutton
Sara Ismail-Sutton le 27 Juil 2020
Commenté : Rik le 28 Juil 2020
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.

Réponses (2)

Matt J
Matt J le 27 Juil 2020
Modifié(e) : Matt J le 27 Juil 2020
function k=next_prime(n)
k=n
while ~isprime(k)
k=k+1
end
end

Prahelika Gayatri N
Prahelika Gayatri N le 28 Juil 2020
function[k]=next_prime(n)
j=0;
while n>0
if j>n && isprime(j)
k=j;
return
end
j=j+1;
end
  1 commentaire
Rik
Rik le 28 Juil 2020
What does this answer add to that of Matt? Also, why didn't you format your code?

Connectez-vous pour commenter.

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by