
For y While, nuu
Publicado por Eduar (2 intervenciones) el 18/03/2018 17:29:55
Hola,quisiera un poco de ayuda en este ejercicio.
Escriba un programa que identifique si un número es primo haciendo la comprobación de sus divisores; recuerde que un número es primo si tiene sólo 2 divisores: el propio número y el 1.
Tenga en cuenta que basta con comprobar hasta la raíz cuadrada del número, puesto que si un número tiene un divisor mayor que su raíz cuadrada también lo
tendrá menor que su raíz cuadrada. Además, no es necesario saber cuántos divisores tiene un número para saber que es primo, ya que, al encontrar un divisor diferente a los mencionados, sabremos que el número no es primo.
Escriba este programa, con base en las indicaciones anteriores para que interrumpa la búsqueda al hallar un divisor diferente a 1 o al mismo número, mediante el uso de bucles while.
A continuación, se muestran dos ejemplos de ejecución del programa:

La imagen es como deben apararecer los datos de salida, hasta el momento he hecho esto:
Lo que necesitaria es el agregar una manera para que tambien me arroje el divosr que es la otra cosa que me pidesn, cualquier ayuda sera agradecida.
Escriba un programa que identifique si un número es primo haciendo la comprobación de sus divisores; recuerde que un número es primo si tiene sólo 2 divisores: el propio número y el 1.
Tenga en cuenta que basta con comprobar hasta la raíz cuadrada del número, puesto que si un número tiene un divisor mayor que su raíz cuadrada también lo
tendrá menor que su raíz cuadrada. Además, no es necesario saber cuántos divisores tiene un número para saber que es primo, ya que, al encontrar un divisor diferente a los mencionados, sabremos que el número no es primo.
Escriba este programa, con base en las indicaciones anteriores para que interrumpa la búsqueda al hallar un divisor diferente a 1 o al mismo número, mediante el uso de bucles while.
A continuación, se muestran dos ejemplos de ejecución del programa:
La imagen es como deben apararecer los datos de salida, hasta el momento he hecho esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def esPrimo(n):
contador=0
verificador=False
for i in range(1,numero+1):
if(numero%i)==0:
#print("{0} es divisor de {1}", format(i, numero)
contador=contador+1
if contador >=3:
verificador=True
break
if contador==2 or verificador==False:
print("El numero", numero,"es primo.")
else: print("El numero", numero, "NO es primo. Un divisor es: ")
return not (verificador)
numero=int(input("Digite el numero a evaluar: "))
esPrimo(numero)
Lo que necesitaria es el agregar una manera para que tambien me arroje el divosr que es la otra cosa que me pidesn, cualquier ayuda sera agradecida.
Valora esta pregunta


0