First condition is true but in second you to have write if(mod(x,2)==1) then this will be show a prime number

# How to make a program to check if a number is a prime?

323 views (last 30 days)

Show older comments

Hello I'm just starting with matlab and I have to make a program to check if a number is a prime. My pgrogramme looks like that but it ain't working.

function prime(x)

i= 3:2:sqrt(x) ;

if mod(x,2) == 0

disp ('is not a prime')

if mod(x,i) > 0

disp('is not a prime')

else

disp ('is a prime')

end

end

Can you help me make my code work please.

### Answers (3)

Sean de Wolski
on 14 May 2013

doc isprime

##### 2 Comments

Jan
on 14 May 2013

Jan
on 14 May 2013

Do you see the difference between:

if mod(x,2) == 0

disp ('is not a prime')

and

if mod(x,i) > 0

disp ('is not a prime')

In the first test you check, if the modulo returns 0. In the second, you want the result to be non-zero to decide, that x is not a prime. Suspicious.

Then the variable i is a vector. In consequence mod(x, i) replies a vector also. But the if-condition must be a scalar, as the English term "if" implies more or less. The functions all() and any() are useful in such cases.

You find a lot of useful links, when you search in the net for prime number algorithms. E.g. ask WikiPedia for Eratosthenes.

##### 0 Comments

Anmol singh
on 20 Jan 2021

Prime number - a number can devide by itself or 1 so now we can iterate loop 2 to n/2 , if n is devide by any number from 2 to n/2 then it is not prime .

loop : i = 2 <= n/2

if mod(n/i == 0)

disp ('is not a prime');

return ;

end if

i++;

end loop

disp ('it is a prime');

return ;

It is very nice trick to check prime number till n/2 .Not need to iterate 2 to n-1

Refrence :

##### 1 Comment

Walter Roberson
on 20 Jan 2021

That is not MATLAB code. It is also not C or C++ code. I do not know what programming language it is. Certainly not java as might be hinted by the link to a java blog.

There is no need to iterate to n/2: you can stop iterating at floor(sqrt(n))

### See Also

### Community Treasure Hunt

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

Start Hunting!