Divisors d’un nombre enter¶
Utilitzant la recursivitat, dissenyeu la funció següent i deseu-la en el fitxer
divisors.py(mòduldivisors):- divisors.descomposa(num)¶
Retorna una llista ordenada que contingui la descomposició en factors primers d’un nombre enter donat. Per exemple:
>>> descomposa (36) [2, 2, 3, 3] >>> descomposa (125) [5, 5, 5] >>> descomposa (144) [2, 2, 2, 2, 3, 3]
Nota
Disposeu de jocs de prova al fitxer
descomposa.txt.Utilitzant la recursivitat, dissenyeu la funció modificadora següent i deseu-la en el fitxer
divisors.py(mòduldivisors):- divisors.descomposa_m(num, l)¶
A partir d’un nombre enter donat,
num, i d’una llista inicialment buida, la funció modifica la llista de forma que contingui la descomposició en factors primers denum. Per exemple:>>> l = [] >>> descomposa_m (36, l) >>> l [2, 2, 3, 3] >>> l = [] >>> descomposa_m (125, l) >>> l [5, 5, 5] >>> l = [] >>> descomposa_m (144, l) >>> l [2, 2, 2, 2, 3, 3]
Nota
Disposeu de jocs de prova al fitxer
descomposa_m.txt.Utilitzant la recursivitat, dissenyeu la funció següent i deseu-la en el fitxer
divisors.py(mòduldivisors):- divisors.divisors(num)¶
Retorna una llista ordenada amb els factors primers d’un nombre enter, però en la qual no hi hagi factors repetits. Per exemple:
>>> divisors (36) [2, 3] >>> divisors (125) [5] >>> divisors (144) [2, 3]
Nota
Disposeu de jocs de prova al fitxer
divisors.txt.
Solució
Disposeu de solucions al fitxer divisors.py.