¡Viernes otra vez! Así que os traigo dos problemas más.
1) ¡No te repitas!
Escribe una función
noRep que dada una cadena de caracteres, construya otra sin repetición de caracteres consecutivos. Por ejemplo si la cadena es "abccccfabaddeff", debe devolver "abcfabadef". El prototipo de la función en C es:
Código C:
Ver originalchar* noRep(char* destino, const char* origen);
Donde
origen es la cadena con caracteres repetidos y
destino es la cadena donde se guardará la cadena resultado sin caracteres no repetidos. La función retorna la cadena
destino.
Como restricción de diseño, decir que dentro de
noRep no se reservará memoria dinámica tal que luego tenga que ser liberada fuera de la función. Vaya, que en caso de que queráis reservar memoria dinamicamente para
destino, hacedlo fuera de la función.
Prototipo para C++:
Código C++:
Ver originalstd::string noRep(std::string origen);
origen es la cadena con posibles caracteres repetidos, el valor que retorna es la cadena resultado sin caracteres repetidos.
2) Números vampiros
Dentro de la fauna de números encontramos unos que tienen colmillos. Son los números vampiros. Los números vampiros son aquellos que son resultado del producto de dos números con el mismo número de dígitos, llamados colmillos. Además, el conjunto de dígitos de los dos colmillos ha de ser el mismo conjunto que los digitos del número vampiro. Es decir, 1260 es vampiro porque es el producto de 21*60 y, 21 y 60 en conjunto está formado por los mismos digitos que 1260.
Lo mismo ocurre con 1395 que es producto de 93*15.
Los números tal como los he definido anteriormente son vampiros salvo cierta excepción: un número no es vampiro si solamente se puede contruir como el producto de dos colmillos que ambos acaben en 0. 1260, como decíamos es vampiro, pero 126000 no lo es porque, no hay colmillos que lo construyan sin ser ambos acabados en 0. 126000 = 210 * 600.
El segundo problema consistirá en contruir una función
esVampiro que retorne 1 si un número es vampiro ó 0 si no lo es. Prototipo de la función:
Y ahora... ¡A petar la pila!