Llista de nombres quadrats¶
Avís
Per a resoldre aquest exercici no es poden fer servir iteracions (ni for ni while ), només funcions recursives.
En el mòdul llista_quadrats (fitxer llista_quadrats.py) dissenyeu la funció recursiva llista_quadrats(), que donat un enter \(n\), retorna una llista ordenada per valors creixents dels quadrats dels enters entre \(1\) i \(n\) (ambdós inclosos). Per calcular el quadrat d’un nombre no podeu utilitzar cap operador de potència (ni \(**\) ni math.pow() ni similar), només productes per 2 i sumes o restes. Per això, observeu que el quadrat d’un enter \(n\) es pot calcular de la forma següent:
Per exemple:
>>> llista_quadrats(1)
[1]
>>> llista_quadrats(10)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Disposeu dels jocs de prova al fitxer test-llista_quadrats.txt.
Nota
Disposeu d’una solució de l’exercici al fitxer llista_quadrats.py.