Estoy algo oxidado en logica de programacion y me esta costando trabajo entender un par de cosas: 1.- En le ciclo for de que no sirve la ...

Pregunta de la clase:
Proyecto: prueba de primalidad
Alberto Castro Flores

Alberto Castro Flores

Pregunta
studenthace 5 años

Estoy algo oxidado en logica de programacion y me esta costando trabajo entender un par de cosas:

1.- En le ciclo for de que no sirve la condicion de if i = 1 or i = numero: cual es su proposito?

2.- cuando se hace la operacion numero % i y el resultado es 0, el numero no es primo, si nos da un numero diferente de 0 es primo, estoy en lo correcto?

6 respuestas
para escribir tu comentario
    jader lopez

    jader lopez

    studenthace 3 años

    hola con lo 1) yo entiendo que aplicamos las condiciones if = i or i = numero por que serian los primero valores por los cuales se dividiria el numero para comprobar si es primo ya que i = 1 es divisible por 1 y cuando i = numero es divisible entre si mismo entre numero, eso entendi yo tu que opinas?

    Raúl Adolfo Sánchez Rodríguez

    Raúl Adolfo Sánchez Rodríguez

    studenthace 4 años

    1.- Siempre se va a cumplir ese condicional, por lo tanto nunca 1 y el número ingresado por el Usuario pasarán como divisores a la siguiente condición. La razón de esta condición es evitar que el siguiente condicional se tergiverse debido a que todos los números cumplirían la condición “numero%i==0” porque todo número se puede dividir entre 1 y entre si mismo y obtener cociente cero. Así mantenemos el contador en cero.

    2.-Dejando fuera como divisores al 1 y al número ingresado por el Usuario pasamos a la siguiente condición. Esta condión es la que determinará si el número es primo. Si se pasa esta condición, es decir que la division tiene residuo = 0, se le sumará 1 al Contador e indicará que el numero no es primo, porque obtendríamos otra division exacta, algo no permitido si esque el número es primo. Así continua hasta probar todos los números del rango.

    Alberto Castro Flores

    Alberto Castro Flores

    studenthace 5 años

    si, ya me quedo claro, gracias.

    Alejandro Urrea Giraldo

    Alejandro Urrea Giraldo

    studenthace 5 años

    Sus preguntas tienen más que ver con conceptos matemáticos, que de programación.

    1. Un número es primo, cuando sus únicos divisores son el 1 y el número en si mismo. La condición if i = 1 or i = numero: busca evitar tener en cuenta estos dos casos, ya que todos los números cumplen esta condición.

    2. Un número es divisible entre otro, cuando al efectuar la división, el cociente es entero y el residuo es cero. Esto quiere decir, que cabe una cantidad de veces exacta sin que sobre nada. Para traducir esto a código, usamos el operador % (módulo), en la instrucción numero%i, el cual nos devuelve el residuo de dicha división. Si el residuo es cero (0), quiere decir que el valor i es divisor de numero, y por lo tanto dicho número no es primo (puesto que tendría un divisor más aparte de 1 y el número en si mismo)

    Alberto Castro Flores

    Alberto Castro Flores

    studenthace 5 años

    facundo explica todo en el video pero por alguna razon no me quedaba claro. tu comentario complemento la explicacion, gracias.

    Mauricio Galvez

    Mauricio Galvez

    studenthace 5 años

    En cuanto al punto 2: no, lo que dices es para los numero pares e impares, no para los primos.

    Sabemos que un numero es primo cuando solo es divisible entre 1 y si mismo.

    La Keyword

    continue
    se salta un ciclo. cuando se cumplen las condiciones que mencionas se ejecuta el continue para pasar directamente a el siguiente ciclo sin sumar nada a la variable
    contador
    .

    El continue se ejecuta cuando

    i = 1
    ya que todos los numero naturales son divisibles entre 1, también se ejecuta cuando
    i = numero
    ya que todos los números son divisibles entre si mismos.

    Cuando un numero solo es divisible entre 1 y si mismo, en toda la ejecución del ciclo nunca se sumara nada a

    contador
    y así sabes que ese numero es primo, en caso de que
    contador
    sea distinta de 0 el numero no es primo.

Curso Básico de Python [Empieza Gratis]

Curso Básico de Python [Empieza Gratis]

Aprende a programar desde cero con el lenguaje de mayor crecimiento en el planeta: Python. Descubre qué es un algoritmo y cómo se construye uno. Domina las variables, funciones, estructuras de datos, los condicionales y ciclos.

Curso Básico de Python [Empieza Gratis]
Curso Básico de Python [Empieza Gratis]

Curso Básico de Python [Empieza Gratis]

Aprende a programar desde cero con el lenguaje de mayor crecimiento en el planeta: Python. Descubre qué es un algoritmo y cómo se construye uno. Domina las variables, funciones, estructuras de datos, los condicionales y ciclos.