miércoles, 28 de mayo de 2014

Números primos en MATLAB


Un número primo es un entero mayor a uno que únicamente tiene dos divisores: la unidad y el número mismo. A excepción del 2, el resto de número primos son impares.

MATLAB dispone de la función nativa isprime para determinar si un número es primo, devolviendo un valor lógico verdadero en caso de serlo y falso en caso contrario. Por ejemplo:

>> isprime(11)

ans =

     1

Ahora, la idea es crear por nosotros mismos un algoritmo sencillo que determine si un número es primo. Para ello optaremos por hacer lo siguiente: sea $n$ el número a verificar, entonces crearemos un vector cuyos términos sean todos los enteros positivos en el intervalo $[1,n]$, enseguida mediante una sentencia de control if verificar mediante la función rem si cada uno de los componentes del vector es divisor de $n$, recuerde que rem devuelve un cero si el segundo argumento es divisor del primero y un número mayor a cero si no lo es. Véase el código resultante de lo que se ha descrito:

n=input('Introduzca un número: ');
L=1:n;
ifnnz(rem(n,L)==0)==2
    disp('Número primo');
else
    disp('Número no primo');
end


No hay comentarios.:

Publicar un comentario