Errors de Paritat. X35646


Statement
 

pdf   zip

html

Feu un programa tal que, donada una seqüència de zeros i uns acabada en −1, digui quants errors de paritat hi ha.

En aquesta seqüència, hi ha tres bits de dades, seguits d’un bit de paritat. Un error de paritat s’esdevé quan en el grup de 3 bits hi ha un nombre senar d’uns i el bit de paritat que segueix és un zero, o bé quan en el grup de tres bits hi ha un nombre parell d’uns i el bit de paritat és un u.

Per exemple, per a la seqüència 1    1    1    1    1    0    0    1    1    1    0    1    1    1    1    1    −1, els programa escriurà 1 perquè hi ha un sol error de paritat, mentre que si la seqüència d’entrada és 1    1    1    0    1    1    1    0    0    0    0    1    0    0    0    1    −1 el programa escriurà 4.

Òbviament, no podeu fer servir vectors per a resoldre aquest problema. La seqüència pot ser buida (és a dir, només hi ha un -1). En cas que no ho sigui, sempre hi haurà grups de 3 bits i un de paritat, és a dir, que la mida de la seqüència serà sempre múltiple de 4 (sense comptar-hi el −1 de final de seqüència).

Entrada

Una seqüència de zeros i uns, de mida múltiple de 4, i acabada en −1.

Sortida

El nombre d’errors de paritat de la seqüència.

Public test cases
  • Input

    1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 -1
    

    Output

    1 
    
  • Input

    1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 -1
    

    Output

    4 
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    R
    User solutions