
Alberto Castro Flores
PreguntaEstoy 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?
-
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.
-
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)

jader lopez
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
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
si, ya me quedo claro, gracias.

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

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

Mauricio Galvez
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
contador
El continue se ejecuta cuando
i = 1
i = numero
Cuando un numero solo es divisible entre 1 y si mismo, en toda la ejecución del ciclo nunca se sumara nada a
contador
contador