Что такое информация - это философский вопрос. Информация - это физическая субстанция, которую можно померять. Информация тесно связана с таким понятием, как вероятность - вероятность события.
Информация - это всё новое, неизведанное, всё, что может быть использовано для осознанного действия - действяи по улудшению своего состояния в этом мире.
Информация пропорциональна вероятности того, что событие произойдёт. При чём, чем больше вероятность, темменьше информации.
Тоесть I~1/P
Но информация должна обладать эффектом аддитивности. Тоесть информация о суммарном событии должна быть равна сумме информация о каждом из (независимых!!!) событий:
I(Q1*Q2)= 1/P(Q1*Q2) = 1/(P(Q1) * P(Q2)) не равно I(Q1)+I(Q2)
Что бы добиться равинства, надо взять логорифм:
I(Q1*Q2) = I(Q1) + I(Q2) = log(1/(P(Q1) * P(Q2))) = log(1/P(Q1)) + log(1/P(Q2)) = -log(P(Q1)) - log(P(Q2))
Основание логорифма определяет единицу измерения информации. Если основание "2", то единица измерения "бит".
Таким образом мы определяем что такое 1 бит информации:
1 = log2(P(Q)) => P(Q) = 1/2
1 бит - это информация о событии, вероятность которого равна 1/2.
Тернарный оператор должен возвращать значение (или ссылку на переменную), которое потом можно использовать. Например, если в целочисленной переменной a записано число -3, то используя такой синтаксис:
int absa = a >= 0 ? a : -a;
можно присвоить переменной absa значение |-3| = 3.
Выражения break, continue (и, например, return) управляют выполнением программы, показывая, какую инструкцию выполнять следующей, и не возвращают никакого значения (даже void). Поэтому при попытке использовать такие выражения в качестве аргументов тернарного оператора, ожидающего, что оба аргумента вернут какое-то значение, возникает ошибка компиляции.
Если очень хочется использовать тернарный оператор для выхода из цикла (но зачем?) можно выбрасывать исключение, которое потом обрабатывать, например, так:
try {
int a = 5;
while(true) {
a == 0 ? throw "a equals 0" : (void) 0;
a--;
}
} catch (<span>char const*</span> s) {
if (s != "a equals 0") throw s;
};
Тут всё просто , чисто логика и простота.
№4=4
№5=3
S=int(input())
m=0
while s!=0:
m+=s%10
s=s//10
print(m)