Números dos-tres-equilibrados consecutivos

Haced un programa que, dados un entero positivo nn y una secuencia de enteros no negativos arbitrariamente larga, indique si la secuencia contiene, en posiciones consecutivas, al menos nn números dos-tres-equilibrados.

Un número es dos-tres-equilibrado si o bien es cero, o bien es divisible por 22 tantas veces como es divisible por 33. Por ejemplo, el 3030 es dos-tres-equilibrado porque es divisible por 22 una vez y por 33 una vez. El 1212, en cambio, no es dos-tres-equilibrado porque es divisible por 22 dos veces y por 33 una sola vez.

La solución debe completar obligatoriamente el esquema siguiente.

// Pre: m es un entero no negativo (m >= 0) 
// Post: devuelve true si m es un número dos-tres-equilibrado,
//       devuelve false en caso contrario.
bool es_equilibrado(int m) {
    ....
}

int main() {
    ....
}

Indicación: la función es_equilibrado() no debe hacer cálculos innecesarios. Por ejemplo, para determinar que 10737418241073741824 (=230=2^{30}) no es equilibrado no hacen falta muchas operaciones.

Entrada

La entrada consiste en un entero n>0n > 0, seguido de una secuencia arbitrariamente larga de enteros no negativos.

Salida

Hay que escribir TRUE si la secuencia contiene, en posiciones consecutivas, al menos nn números dos-tres-equilibrados, y FALSE en caso contrario.

Información del problema

Autoría: Unknown
Traducción: Pro1

Generación: 2026-10-20T15:57:18.321Z

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