Definim com a número bicolor un natural n amb només dos dígits diferents que estan repetits en dos blocs (o "colors"). Més formalment, la seqüència de dígits de n és d1d2… dke1e2… el, on d i e són els dos dígits i, d≠ e, k > 0 i l > 0.
Exemples de números bicolor: 7722, 44111, 666699, 277 i 45.
Exemples de números que no són bicolor: 121, 113311, 7878, 1234, 7, 99910.
Implementa una funció is_bicolor
que rep un natural i determina si és bicolor. La funció rep un número n >= 0 i retorna true
si és bicolor i false
en cas contrari.
La capçalera de la funció ha de ser:
/** * @pre n >= 0 * @post retorna cert si n és bicolor, fals en cas contrari */ bool is_bicolor(int n);
Observació
Només cal enviar la funció demanada; el programa principal serà ignorat.
is_bicolor(0) -> false is_bicolor(11) -> false is_bicolor(45) -> true is_bicolor(123) -> false is_bicolor(112) -> true is_bicolor(555) -> false is_bicolor(1333) -> true