Fins a n X44077


Statement
 

pdf   zip

thehtml

Escriure una funció fins_a_n(f,n) que, donades una funció f d’un paràmetre i un nombre n enter positiu, retorna una funció d’un paràmetre tal que per a cada x, aquesta funció aplica tantes vegades f com pot, fins a superar el valor d’n. És a dir, calcularà fk(x) ≤ n on fk+1(x) > n. El valor retornat serà fk(x). Podem suposar que f és tal que, per a tot x, f(x) > x. Pels x tal que x > n, la funció retornarà x.

Entrada

La funció té dos paràmetres, una funció amb les propietats requerides per l’enunciat i un nombre enter positiu.

Observacions

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
>>> 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
>>> 
Information
Author
Jordi Delgado
Language
Catalan
Official solutions
Python
User solutions
Python