Nombre Primer X98967


Statement
 

pdf   zip

thehtml

Escriure una funció es_primer(n) que donat un nombre natural n retorni True si el nombre n és primer i False en cas contrari.

Entrada

La funció té un nombre natural com a paràmetre

Pista

Per a cada nombre n, calen com a màxim uns √n passos per saber si és primer o no.

Observacions

Podeu implementar la funció demanada iterativament o recursivament. Si la implementeu recursivament (de la manera més senzilla, que és el que s’espera) el nombre primer més gran que podreu provar és el 996001 (és un problema de la implementació de Python que fem servir. Es pot resoldre, però no cal en el nivell que se suposa que esteu). Si ho penseu bé, no hi ha límit en els nombres no primers que podeu provar.

Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.

Sample session
>>> es_primer(17)
True
>>> es_primer(12)
False
>>> es_primer(101)
True
>>> es_primer(102)
False
>>> es_primer(100019)
True
>>> es_primer(19937)
True
>>> es_primer(996001)
True
>>> es_primer(736541)
False
>>>
Information
Author
Jordi Delgado
Language
Catalan
Official solutions
Python
User solutions
Python