Árbol de múltiplos

Decimos que un árbol binario de números naturales TT es un árbol "de múltiplos" cuando, para todo nodo que no sea una hoja, los valores de las raíces de los subárboles izquierdo y derecho, EE y DD, si no son vacíos, son múltiplos del valor en la raíz de TT. Consideraremos que un múltiplo de nn es un natural m=nkm = nk tal que k>=1k >= 1. Por ejemplo, el siguiente árbol es de múltiplos:

1
|- 2
|  |- 4
|  '- #
'- 3
   |- 9
   '- 6
      |- 6
      '- 12

Haz una función arbre_de_multiples con cabecera:

/**
 * @brief Determina si un árbol es "de múltiplos"
 *
 * @param  t  Un árbol binario de naturales
 *
 * @returns  `true` si `t` es un árbol de múltiplos
 *           `false` en caso contrario.
 */
bool arbre_de_multiples(BinTree<int> t);

Observación

Los archivos públicos (icono del gatito) contienen:

main.cc el programa principal, con la entrada/salida ya hecha
bintree.hh la clase BinTree<T>
bintree-io.hh la entrada/salida de BinTree<T>
bintree-inline.hh la entrada/salida "inline" de BinTree<T>
Makefile para compilar con make
.vscode para compilar y debuggar con VSCode

Hay que implementar arbre_de_multiples en un archivo .cc nuevo, compilar, y finalmente enviar solo el archivo con la función y funciones auxiliares si son necesarias.

Entrada

(Esto ya lo hace el programa principal dado). La entrada comienza con "visual" o "inline" para indicar el formato de los árboles de entrada. Después viene una secuencia de árboles en el formato indicado.

Salida

(Esto también lo hace el programa principal dado). La salida son los strings resultantes de llamar a la función arbre_de_multiples, un resultado por línea.

Información del problema

Autoría: Mª Lluïsa Bonet i Pau Fernández

Generación: 2026-03-24T13:59:11.908Z

© Jutge.org, 2006–2026.
https://jutge.org