Azzera filtri
Azzera filtri

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 visualizzazione (ultimi 30 giorni)
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 Commenti

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 27 Ago 2015
Modificato: Stephen23 il 27 Ago 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

Più risposte (1)

charu sharma
charu sharma il 27 Ago 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 Commento
Stephen23
Stephen23 il 27 Ago 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by