Escriure una funció fins_a_n(f,n) que,
donades una funció
d’un paràmetre i un nombre
enter positiu, retorna una funció d’un paràmetre tal que per a
cada
,
aquesta funció aplica tantes vegades
com pot, fins a superar el valor
d’.
És a dir, calcularà
on
.
El valor retornat serà
.
Podem suposar que
és tal que, per a tot
,
.
Pels
tal que
,
la funció retornarà
.
La funció té dos paràmetres, una funció amb les propietats requerides per l’enunciat i un nombre enter positiu.
Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.
>>> fins_a_n(lambda x: 1+x, 5)(3) 5 >>> fins_a_n(lambda x: 1+x, 5)(7) 7 >>> fins_a_n(lambda x: 1+x, 5)(0) 5 >>> fins_a_n(lambda x: x*x, 10)(2) 4 >>> fins_a_n(lambda x: x*x, 20)(2) 16 >>> fins_a_n(lambda x: x*x, 20)(20) 20 >>> fins_a_n(lambda x: x*x, 20)(21) 21 >>>