Задача состоит в подсчете количества единиц и нулей в двоичной записи результата сложения выражений (20^50 – 1) и (20^49 – 1).
Давайте рассмотрим каждое выражение по отдельности и найдем количество единиц и нулей в его двоичной записи.
Выражение (20^50 – 1):
20^50 – 1 = (2^2*10^50) – 1 = (2^2)*2^10*10^40 – 1 = 2^12*10^40 – 1
Поскольку 2 и 10 в двоичном представлении имеют постоянные значения (2 = 10, а 10 = 1010), мы можем представить выражение как
(2^12)*(1010)^10 – 1.
Найдем двоичную запись каждого множителя:
2^12 = 1000000000000
(1010)^10 = 11010101100000100000001000010000010000010000000000000000000000000000000000000000000000000000000000
Теперь сложим эти два числа:
1000000000000
+
11010101100000100000001000010000010000010000000000000000000000000000000000000000000000000000000000000
—————————————————————————————————————————–
11010101100000100000001000010000010000010000000000000000000000000000000000000001000000000000000000000000
В получившемся числе 1 встречается 13 раз, а 0 – 140 раз.
Теперь рассмотрим второе выражение (20^49 – 1):
20^49 – 1 = (2^2*10^49) – 1 = (2^2)*2^10*10^39 – 1 = 2^12*10^39 – 1
Аналогично первому выражению, мы можем представить это как
(2^12)*(1010)^9 – 1.
Найдем двоичную запись каждого множителя:
2^12 = 1000000000000
(1010)^9 = 111010111000010100010000010000010000000000000000000000000000000000000000000000000000000
Сложим эти два числа:
1000000000000
+
111010111000010100010000010000010000000000000000000000000000000000000000000000000000000000
——————————————————————————————-
111010111000010100010000010000010000000