Suma dels bits de les potències parells P69827


Statement
 

pdf   zip   main.cc

Considereu un nombre natural @n@, per exemple, @n@ =203= 203. Si l’expressem en binari, obtenim 203=110010112203 = 11001011_2, és a dir, 203=127+126+025+024+123+022+121+120203 = 1 \cdot 2^7 + 1 \cdot 2^6 + 0 \cdot 2^5 + 0 \cdot 2^4 + 1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2^1 + 1 \cdot 2^0. La suma dels bits de les potències parells de 2 és 1+0+0+1=21 + 0 + 0 + 1 = 2.

Feu una funció

    int suma_bits_potencies_parells(int n);

que retorni aquesta suma. Per exemple, el resultat per a 0, 1, 2, 3, 4, i 5 hauria de ser 0, 1, 0, 1, 1 i 2, respectivament.

Precondició

Es compleix @n@ 0\ge 0.

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Information
Author
Salvador Roura
Language
Catalan
Official solutions
C++
User solutions
C++