Avís
Per a resoldre aquests exercicis no es poden fer servir llistes, tuples, diccionaris ni cap altra estructura. Ara bé, podeu dissenyar les funcions demanades bé com a generadors, bé utilitzant les funcions predefinides de Python i les dels mòduls itertools, functools i operator.
2. n senars tetraèdrics (5 punts)¶
Dissenyeu la funció especificada a continuació i deseu-la en un fitxer anomenat n_tetraedric.py:
- n_tetraedric.n_senars_tetraedrics(n)¶
- Paràmetres:
n (int) – enter estrictament positiu
- Retorna:
iterador dels n primers nombres senars de la successió de nombres tetraèdrics
La successió de nombres tetraèdrics \(t_1 \, t_2 \, t_3 \ldots\) es pot calcular de la manera següent:
Recalquem que l’iterador retornat només ha de generar nombres d’aquesta successió que són senars.
Per exemple,
>>> it = n_senars_tetraedrics(5)
>>> for t in it:
... print(t, end='-')
1-35-165-455-969-
>>> next(it, 'fi') # comprovem que l'iterador s'ha exhaurit
'fi'
Disposeu d’un joc de proves més complet al fitxer test-n_tetraedric.txt