Asked by Rahul Singh
on 13 Apr 2012

anyone please tell me in matlab how to write a function to find prime number of any number if it is not prime number then function show its nearest prime numbers... let take example ...take number 9 we know it is not prime then the program will show its nearest prime like 7 and 11..

*No products are associated with this question.*

Answer by Andrei Bobrov
on 13 Apr 2012

Accepted answer

input `x`

x = 24;

solution

X = [x x]; out = zeros(1,2); while 1 t = isprime(X); if all(t) out = X; break elseif any(t) out(t) = X(t); t1 = ~t; X(t1) = X(t1) - sum([1 -1].*t1); else X = X - [1 -1]; end end out = unique(X)

Rahul Singh
on 14 Apr 2012

thanks Andrei Bobrov........i think this is useful answer for me............

Opportunities for recent engineering grads.

## 2 Comments

## Thomas (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/35370#comment_73518

if this is homework, can you show, what you have done so far?

## Jan Simon (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/35370#comment_73560

What have you tried so far and which problem occurred?