Sommatoria in binario

XXI Gara Nazionale a Squadre – Finale nazionale 17 settembre 2020 – Numero 19

«Solo un atto di vero amore può sciogliere un cuore di ghiaccio».
Invece, per un cervello di ghiaccio un rimedio efficace potrebbe essere cimentarsi con il seguente problema.

Siano z(n) e u(n) due funzioni che restituiscono rispettivamente il numero di zeri e di uni nella scrittura in base 2 del numero n, e sia \displaystyle f(n)=\frac{(-1)^{z(n)}}{2^{u(n)}}.
Per esempio, quindi, \displaystyle f(13)=f(1101_2)=\frac{(-1)^1}{2^3} = -\frac{1}{8}, mentre \displaystyle f(17)=f(10001_2)=\frac{(-1)^3}{2^2}=-\frac{1}{4}.
Calcolare quanto vale la somma f(1)+f(2)+f(3)+...+f(1023).

Rispondere con la somma di numeratore e denominatore della frazione ridotta ai minimi termini.


Soluzione 1

Forza bruta: calcolo i valori di f(n) per ogni n da 1 a 1023

n_{10}n_{2}z(n)u(n)f(n)Totale
1101\displaystyle \frac{1}{2}\displaystyle \frac{1}{2}
21011\displaystyle -\frac{1}{2}0
31102\displaystyle \frac{1}{4}\displaystyle \frac{1}{4}
410021\displaystyle \frac{1}{2}\displaystyle \frac{3}{4}
510112\displaystyle -\frac{1}{4}\displaystyle \frac{1}{2}
13110113\displaystyle -\frac{1}{8}\displaystyle \frac{3}{8}
171000132\displaystyle -\frac{1}{4}\displaystyle \frac{9}{16}
1022111111111019\displaystyle -\frac{1}{512}\displaystyle \frac{85}{256}
10231111111111010\displaystyle \frac{1}{1024}\displaystyle \frac{341}{1024}

Osserva

  1. Ho compilato la tabella utilizzando Python!
  2. La risposta al quesito: 341+1024 = 1365
  3. Non si intravede uno schema risolutivo semplice.

Soluzione 2

Faccio i conteggi raggruppando per numero di 1 nella rappresentazione binaria (i valori della funzione hanno lo stesso denominatore)

u(n)z(n)n_{2}Quanti?f(n)ProdottiTotale
1011\displaystyle \frac{1}{2}\displaystyle \frac{1}{2} 
11101\displaystyle -\frac{1}{2}\displaystyle -\frac{1}{2} 
121001\displaystyle \frac{1}{2}\displaystyle \frac{1}{2} 
1310001\displaystyle -\frac{1}{2}\displaystyle -\frac{1}{2} 
14100001\displaystyle \frac{1}{2}\displaystyle \frac{1}{2} 
151000001\displaystyle -\frac{1}{2}\displaystyle -\frac{1}{2} 
1610000001\displaystyle \frac{1}{2}\displaystyle \frac{1}{2} 
17100000001\displaystyle -\frac{1}{2}\displaystyle -\frac{1}{2} 
181000000001\displaystyle \frac{1}{2}\displaystyle \frac{1}{2} 
1910000000001\displaystyle -\frac{1}{2}\displaystyle -\frac{1}{2}0
20111\displaystyle \frac{1}{4}\displaystyle \frac{1}{4} 
21110
101
\displaystyle {2 \choose 1}=2\displaystyle -\frac{1}{4}\displaystyle -\frac{2}{4} 
221100

1001
\displaystyle {3 \choose 2}=3\displaystyle \frac{1}{4}\displaystyle \frac{3}{4} 
2311000

10001
\displaystyle {4 \choose 3}=4\displaystyle -\frac{1}{4}\displaystyle -\frac{4}{4} 
24110000

100001
\displaystyle {5 \choose 4}=5\displaystyle \frac{1}{4}\displaystyle \frac{5}{4} 
251100000

1000001
\displaystyle {6 \choose 5}=6\displaystyle -\frac{1}{4}\displaystyle -\frac{6}{4} 
2611000000

10000001
\displaystyle {7 \choose 6}=7\displaystyle \frac{1}{4}\displaystyle \frac{7}{4} 
27110000000

100000001
\displaystyle {8 \choose 7}=8\displaystyle -\frac{1}{4}\displaystyle -\frac{8}{4} 
281100000000

1000000001
\displaystyle {9 \choose 8}=9\displaystyle \frac{1}{4}\displaystyle \frac{9}{4}\displaystyle \frac{5}{4}
301111\displaystyle \frac{1}{8}\displaystyle \frac{1}{8} 
311110

1011
\displaystyle {3 \choose 1}=3\displaystyle -\frac{1}{8}\displaystyle -\frac{3}{8} 
3211100

10011
\displaystyle {4 \choose 2}=6\displaystyle \frac{1}{8}\displaystyle \frac{6}{8} 
33111000

100011
\displaystyle {5 \choose 3}=10\displaystyle -\frac{1}{8}\displaystyle -\frac{10}{8} 
341110000

1000011
\displaystyle {6 \choose 4}=15\displaystyle \frac{1}{8}\displaystyle \frac{15}{8} 
3511100000

10000011
\displaystyle {7 \choose 5}=21\displaystyle -\frac{1}{8}\displaystyle -\frac{21}{8} 
36111000000

100000011
\displaystyle {8 \choose 6}=28\displaystyle \frac{1}{8}\displaystyle \frac{28}{8} 
371110000000

1000000011
\displaystyle {9 \choose 7}=36\displaystyle -\frac{1}{8}\displaystyle -\frac{36}{8}\displaystyle -\frac{20}{8}
4011111\displaystyle \frac{1}{16}\displaystyle \frac{1}{16} 
4111110

10111
\displaystyle {4 \choose 1}=4\displaystyle -\frac{1}{16}\displaystyle -\frac{4}{16} 
42111100

100111
\displaystyle {5 \choose 2}=10\displaystyle \frac{1}{16}\displaystyle \frac{10}{16} 
431111000

1000111
\displaystyle {6 \choose 3}=20\displaystyle -\frac{1}{16}\displaystyle -\frac{20}{16} 
4411110000

10000111
\displaystyle {7 \choose 4}=35\displaystyle \frac{1}{16}\displaystyle \frac{35}{16} 
45111100000

100000111
\displaystyle {8 \choose 5}=56\displaystyle -\frac{1}{16}\displaystyle -\frac{56}{16} 
461111000000

1000000111
\displaystyle {9 \choose 6}=84\displaystyle \frac{1}{16}\displaystyle \frac{84}{16}\displaystyle \frac{50}{16}
50111111\displaystyle \frac{1}{32}\displaystyle \frac{1}{32} 
51111110

101111
\displaystyle {5 \choose 1}=5\displaystyle -\frac{1}{32}\displaystyle -\frac{5}{32} 
521111100

1001111
\displaystyle {6 \choose 2}=15\displaystyle \frac{1}{32}\displaystyle \frac{15}{32} 
5311111000

10001111
\displaystyle {7 \choose 3}=35\displaystyle -\frac{1}{32}\displaystyle -\frac{35}{32} 
54111110000

100001111
\displaystyle {8 \choose 4}=70\displaystyle \frac{1}{32}\displaystyle \frac{70}{32} 
551111100000

1000001111
\displaystyle {9 \choose 5}=126\displaystyle -\frac{1}{32}\displaystyle -\frac{126}{32}\displaystyle -\frac{80}{32}
601111111\displaystyle \frac{1}{64}\displaystyle \frac{1}{64} 
611111110

1011111
\displaystyle {6 \choose 1}=6\displaystyle -\frac{1}{64}\displaystyle -\frac{6}{64} 
6211111100

10011111
\displaystyle {7 \choose 2}=21\displaystyle \frac{1}{64}\displaystyle \frac{21}{64} 
63111111000

100011111
\displaystyle {8 \choose 3}=56\displaystyle -\frac{1}{64}\displaystyle -\frac{56}{64} 
641111110000

1000011111
\displaystyle {9 \choose 4}=126\displaystyle \frac{1}{64}\displaystyle \frac{126}{64}\displaystyle \frac{86}{64}
7011111111\displaystyle \frac{1}{128}\displaystyle \frac{1}{128} 
7111111110

10111111
\displaystyle {7 \choose 1}=7\displaystyle -\frac{1}{128}\displaystyle -\frac{7}{128} 
72111111100

100111111
\displaystyle {8 \choose 2}=28\displaystyle \frac{1}{128}\displaystyle \frac{28}{128} 
731111111000

1000111111
\displaystyle {9 \choose 3}=84\displaystyle -\frac{1}{128}\displaystyle -\frac{84}{128}\displaystyle -\frac{62}{128}
80111111111\displaystyle \frac{1}{256}\displaystyle \frac{1}{256} 
81111111110

101111111
\displaystyle {8 \choose 1}=8\displaystyle -\frac{1}{256}\displaystyle -\frac{8}{256} 
821111111100

1001111111
\displaystyle {9 \choose 2}=36\displaystyle \frac{1}{256}\displaystyle \frac{36}{256}\displaystyle \frac{29}{256}
901111111111\displaystyle \frac{1}{512}\displaystyle \frac{1}{512} 
911111111110

1011111111
\displaystyle {9 \choose 1}=9\displaystyle -\frac{1}{512}\displaystyle -\frac{9}{512}\displaystyle -\frac{8}{512}
10011111111111\displaystyle \frac{1}{1024}\displaystyle \frac{1}{1024}\displaystyle \frac{1}{1024}

La somma dei totali parziali

\displaystyle 0+\frac{5}{4}  - \frac{20}{8} + \frac{50}{16} - \frac{80}{32} + \frac{86}{64} - \frac{62}{128} + \frac{29}{256} - \frac{8}{512} + \frac{1}{1024}

= \displaystyle \frac{5\cdot 256 -20\cdot 128 +50\cdot 64 -80\cdot 32 + 86\cdot 16 -62 \cdot 8 +29 \cdot 4 -8\cdot 2 +1 \cdot 1}{1024}

= \displaystyle \frac{1280-2560+3200-2560+1376-496+116-16+1}{1024}

= \displaystyle \frac{341}{1024}

La risposta al quesito: 341 + 1024 = 1365

Soluzione 3

Deve esistere una tecnica risolutiva più veloce!

???