Объем сообщения равен 16кбайт. сообщение содержит 8192 символа. какова максимальная мощность алфавита, использованного при передаче сообщения? с решением
О четности или нечетности вещественного числа можно говорить лишь если оно не имеет дробной части. В этом случае оно приводится к целому числу. Я не знаю, зачем дано абсолютно глупое требование не использовать условный оператор, но выполнить его можно. Надо умножать число на абсолютную величину остатка от его деления на 2. Если число четное, остаток будет нулевым, нечетное - единичным. Поэтому результатом умножения будет или само нечетное число, или ноль. И можно все подряд складывать.
CLS DIM n AS INTEGER INPUT "n=", n DIM i AS INTEGER, k AS INTEGER, x AS SINGLE, s AS SINGLE, i AS INTEGER s = 0 FOR i = 1 TO n INPUT "->", x s = s + x * (ABS(INT(x)) MOD 2) NEXT i PRINT "s = ", s
Это так называемое олимпиадное подключение библиотек, этот заголовок bits/stdc++ подключает сразу набор библиотек, почти всех которые необходимы их там штук под 100, почти весь STL + некоторые старые Си либы, это удобно на олимпиадном программировании, когда нету времени подключать библиотеки вручную, тк это тратит время, но если вам это не критично лучше подключать ручками, те которые нужны, а не тащить за собой мешок ненужных игрушек. Hу и конечно подключение стольких хедеров влечет за собой длительную первую компиляцию порядка 10-15 сек (зависит от ПК) последующие конечно быстрее будут, но нужно ли это вам? ну и конечно, код становится хуже переносимым, при использовании данного заголовка
Объем одного символа = 16*1024/8192 байт = 2 байта = 2*8 бит = 16 бит
Мощность алфавита = 2^16 = 65536 символов