Matlab - Números primos ciclo for

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 6 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Números primos ciclo for

Publicado por Óscar (9 intervenciones) el 26/03/2019 12:29:19
Hola, espero puedan ayudarme.
Debo crear un programa que identifique si el número ingresado por el usuario es primo o no. Sólo usando el ciclo for y no usando la función "continue".
Muchas gracias y excelente día :).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Números primos ciclo for

Publicado por Daniel (354 intervenciones) el 26/03/2019 12:44:38
Hola,

Hay mucho que optimizar pero la idea es guardar el estado en una variable.

1
2
3
4
5
6
7
8
9
10
11
numero = 11;
esprimo = true;
 
for i = (numero-1):-1:2
    if numero/i == round(numero/i)
        esprimo = false;
        break;
    end
end
 
esprimo

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 6 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Números primos ciclo for

Publicado por Óscar (9 intervenciones) el 26/03/2019 13:04:03
Muchas gracias.
Disculpe si es mucho pedir, pero podría explicarme lo que hace el ciclo for en este pequeño programa que me dejo, soy nuevo en matlab :).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 6 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Números primos ciclo for

Publicado por Óscar (9 intervenciones) el 26/03/2019 13:46:21
Bueno, supongo que hay algún error en el programa porque cuando pongo el 0 me dice que es numero primo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Números primos ciclo for

Publicado por Daniel (354 intervenciones) el 26/03/2019 14:10:11
Esa es una de las optimizaciones pendientes, comprobar cero.

Lo que hace el código es dividir por todos los números menores que el número (otra optimización, solo es necesario hacerlo con primos) y comprobar si este es igual a la parte entera, es decir, es divisible. En cuanto encuentra un caso asigna falso a esprimo y sale de bucle con break. Si no se puede dividir por ningún número la variable esprimo mantiene el valor verdadero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Números primos ciclo for

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/03/2019 23:00:18
1
2
3
4
5
6
7
8
9
10
11
12
13
clear all
numero=input('Ingrese un numero:');
d=0;
for i=1:numero
    if rem(numero,i)==0
        d=d+1;
    end
end
if d==2
    disp('el numero ingresado es primo')
else
    disp('el numero ingresa no es primo')
end

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar