n = 2*27**7+3**10-9
ct = 0
while n>0:
if n%3 == 0:
ct+=1
n //= 3
print(ct)
16 символов
Объяснение:
I = К * i, где
I - информационный объём сообщения (документа)
К - количество символов в сообщении (документе)
i - информационный вес символа (количество бит, которым кодируется 1 символ)
N = 2^i, где
N - мощность алфавита (количество символов в алфавите)
i - информационный вес символа (количество бит или байт, которым кодируется 1 символ)
Дано:
K = 10 страниц * 305 символов = 3050 символов
I = 1 525 байт = 12 200 бит
Найти:
N
I = К * i
i = I / K
i = 12 200 / 3050 = 4 бит
N = 2^4 = 16 символов
1 байт = 8 бит
(см. объяснение)
Объяснение:
Решение на Java:
import java.math.BigInteger;
public class Main
{
public static void main(String[] args) {
System.out.println(BigInteger.valueOf(2).multiply(BigInteger.valueOf(27).pow(7)).add(BigInteger.valueOf(3).pow(10)).subtract(BigInteger.valueOf(9)).toString(3).chars().filter(x->x=='0').count());
}
}
Решение на Python 3:
a = 2*27**7+3**10-9
s = ''
while a>0:
s = str(a % 3) + s
a //= 3
print(s.count('0'))
Результат работы программ в обоих случаях одинаковый и равен 13.
Задание выполнено!