Llista per la Societat del 47 Z52575


Statement
 

pdf   zip   main.cc

thehtml

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:

// Pre: cert // Post: retorna una llista amb els valors de 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]

Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.

Observació

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.

Public test cases
  • Input/Output

    llista47([12, 47, 4, 4, 6, -47, 10]) → [47, -47]
    llista47([]) → []
    llista47([1471, -47000, 2, 34704, 274, 74074]) → [1471, -47000, 34704]
    llista47([47, -470, 471, -472, 473, -474, 475, -476, 477, -478, 479, -10470]) → [47, -470, 471, -472, 473, -474, 475, -476, 477, -478, 479, -10470]
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++