La Societat del 47 és una comunitat d’internautes que explora el fenomen recurrent del nombre 47 en la cultura i la vida quotidiana. La societat s’interessa en entendre la freqüència sorprenent d’aquest nombre i investigar el seu significat.
Aquesta societat va començar a la Ponoma College als anys 60, quan un grup d’estudiants va notar que el número 47 apareixia amb una freqüència superior a l’esperada.
Per tal de facilitar l’estudi d’aquest nombre, se’t demana que implementis una funció ITERATIVA que, donada una llista d’enters, torni una altra llista amb només els valors de la llista inicial tal que continguin el nombre 47 a les seves xifres.
La capçalera de la funció és la següent:
// \textbf{Pre}: cert
// \textbf{Post}: retorna una llista amb els valors de \emph{l}
// tal que contenen el nombre 47 a les seves xifres
list<int> llista_47(const list<int> &l)
Per exemple:
llista47([33, 47, 12475, 3, -47, 7477, 7, 2470]) = [47, 12475, -47, 7477, 2470]
Només cal enviar el procediment demanat; el programa principal serà ignorat.
La funció i subfuncions que creïs han de treballar només amb llistes
(la classe list de la biblioteca STL). Heu de trobar una
solució ITERATIVA i eficient del problema. En
particular, no hi hauria d’haver cap crida recursiva en cap de les
funcions que implementis. Si crees funcions auxiliars, afegeix-hi les
corresponents Pre i Post. En els
bucles inclou l’invariant del bucle.
Input/Output