I need a function that returns the smallest prime number p smaller than 100,000 such that (p + n) is also prime, where n is a scalar integer and is the sole input argument to the function

1 view (last 30 days)
Write a function called prime_pairs that returns the smallest prime number p smaller than 100,000 such that (p + n) is also prime, where n is a scalar integer and is the sole input argument to the function. If no such number exists, then the function returns -1. You may use the built-in functions, primes and isprime.
  3 Comments

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 27 Aug 2015
Edited: Stephen23 on 27 Aug 2015
function p = prime_pairs(n)
V = primes(1e5);
V = V(isprime(n+V));
if isempty(V)
p = -1;
else
p = V(1);
end
end

More Answers (1)

charu sharma
charu sharma on 27 Aug 2015
For simple code refer this and ask if you have any query: http://farzicoders.blogspot.in/2015/08/write-function-called-primepairs-that.html
  1 Comment
Stephen23
Stephen23 on 27 Aug 2015
"simple code" with:
  • poorly named variables: for i=1:l
  • superfluous intermediate variables: flag
  • superfluous loops when code vectorization would be neater.
  • superfluous return statements.

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!