¿Es primo?

De MateWiki
Saltar a: navegación, buscar

El siguiente programa permite conocer si un número es primo o no

MATLAB code

% Programa numeroprimo.m
% Programa para identificar si un número es primo o no
n=input('introduce un número natural: ');
t='el numero es primo';        % definimos la variable de salida
for i=2:floor(sqrt(n))         % bucle para comprobar divisores 
  if rem(n,i)~=0               
     continue                  % i no es divisor
  end   
  t='el numero no es primo';
end
disp(t)


Algunas preguntas:

1. ¿Por qué se define la variable t con la respuesta "el número es primo" antes de hacer ninguna comprobación?

2. ¿Qué se hace dentro del bucle?

3. ¿Por qué sólo necesitamos comprobar hasta la raíz cuadrada de n?

4. ¿Cómo cambiarías el programa para encontrar los divisores de un número?