Ejercicio: 1Eva_IT2008_T1 Teorema de Wilson
Se usa el concepto de residuo de la división para determinar si el número es primo. La bandera usada es «esprimo» que inicia con el supuesto de ser verdadero ó 1.
Solo si el número resulta ser primo, se aplican las operaciones de Wilson
Instrucciones en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IT2008_T1 Teorema de Wilson # INGRESO n = int(input('ingrese numero primo: ')) while not(n>0): n = int(input('ingrese numero positivo: ')) # PROCEDIMIENTO # revisa esprimo esprimo = 1 divisor = 2 while not(divisor>=n or esprimo==0): r = n%divisor if (r == 0): esprimo = 0 divisor = divisor + 1 wilson = -1 if esprimo == 1: # factorial factor = 1 i = 1 while not(i>=n): factor = factor*i i = i + 1 # revisa Wilson residuo = (factor + 1) % n if residuo == 0: wilson = 1 else: wilson = 0 # SALIDA print('cumple Wilson: ', wilson)
resultado del algoritmo
ingrese numero primo: 7 cumple Wilson: 1 >>> == RESTART: D:\Ejemplos\unprograma.py == ingrese numero primo: 13 cumple Wilson: 1 >>> == RESTART: D:\Ejemplos\unprograma.py == ingrese numero primo: 8 cumple Wilson: -1 >>>