Següent Binari. X65473


Statement
 

pdf   zip   main.R

html

Els números binaris són números tals que les xifres són, únicament, zeros i uns. Tècnicament, diem que són números en base 2, és a dir, que només tenim dues xifres. Els numeros que normalment fem servir nosaltres són en base 10, perquè tenen 10 dígits: 0,1,2,3,4,5,6,7,8,9. Apart d’aquesta peculiaritat, els números binaris es comporten com els números en base 10.

Per exemple, una seqüència de nombres binaris seria:

             0 , 1, 
             10, 11, 
             100, 101, 110, 111, 
             1000, 1001, 1010, 1011,
             1100,  1101, 1110, 1111, 
             10000, ...

Ara ens fixem en els binaris d’una mida determinada, per exemple, els de mida m = 3, és a dir, els que tenen, com a màxim, 3 dígits. Serien, com hem vist: 0,1,10,11,100,101,110,111.

Cal que feu una funció seguent_binari(V) tal que, donat un vector V de mida 1 ≤ m, que conté només zeros i uns, que són la representació d’un número binari, torni un vector que representa el següent número binari.

Per exemple, si V = [1, 0, 1], la funció ha de tornar V = [1, 1, 0]. Cal tenir en compte que el següent de V = [1, 1, 1] és V = [0, 0, 0].

Pista: només cal que trobeu la manera que teniu vosaltres de calcular el següent nombre decimal, dígit a dígit. El mateix algoritme (més senzill) el podeu aplicar a aquest cas.

Observació

Només cal que enviïs el fitxer amb la funció (i les funcions auxiliars que hagis fet) que et demanem i prou. El fitxer main.R et pot servir per a fer la teva solució, però no cal que n’enviïs el contingut.

Entrada

Un vector V de zeros i uns, de mida 1 ≤ m, que representa un nombre binari.

Sortida

Un vector de mida m que representa el següent nombre binari de V. En cas que V fos el darrer nombre binari de mida m, llavors cal tornar el primer binari de mida m, és a dir, un vector amb m zeros.

Public test cases
  • Input

    5
    1 1 0 1 1
    

    Output

    1 1 1 0 0 
    
  • Input

    5
    1 1 1 1 0
    

    Output

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