Для правильного вопроса надо знать половину ответа
Потому что в функции printf вообще нет приведения типов.
Она просто берёт переданные данные и трактует их согласно спецификации формата.
То есть, в вашем случае выполняется не (float)i, а *((float *)&i).
If any argument after default argument promotions is not the type expected by the corresponding conversion specifier, or if there are fewer arguments than required by format, the behavior is undefined.
Для правильного вопроса надо знать половину ответа
Треугольник лежит на пересечении кругов" означает, что все точки треугольника принадлежат пересечению кругов, то есть одновременно принадлежат обоим кругам.
Поскольку пересечение кругов выпуклая фигура, а стороны треугольника - отрезки прямых, то достаточно убедиться, что все три вершины одновременно принадлежат обоим кругам.
Для правильного вопроса надо знать половину ответа
Целочисленное переполнение. У вас int имеет размер 32 бита, а 517 = 762939453125 > 239. Используйте 64-битовый тип данных, тогда сможете досчитать до 527.
Для правильного вопроса надо знать половину ответа
Клиент шлёт широковещательный (SO_BROADCAST) пакет "Сервер, ау!" на broadcast-адрес сети.
Сервер, получив такой запрос шлёт непосредственно клиенту пакет "Аюшки?"
Клиент, получив такой ответ от сервера запоминает адрес отправителя.
Если ответили несколько серверов, то клиент выбирает понравившийся.
Для правильного вопроса надо знать половину ответа
Вы используете SOCK_STREAM, который предназначен для TCP и требует предварительной установки соединения (listen/connect).
UDP работает через датаграммы, SOCK_DGRAM.
Для правильного вопроса надо знать половину ответа
Базовые сложение, вычитание и сравнение реализуются стандартно для длинной целочисленной арифметики.
Далее, следует учесть, что
(A + B) mod P = ((A mod P) + (B mod P)) mod P
(A * B) mod P = ((A mod P) * (B mod P)) mod P
Тогда, реализовав умножение через операции сдвига (умножения на два) и сложения, можно получить результат, используя буфер всего на один бит (в реальной программе - на байт или слово) больше, чем длина P.
Для правильного вопроса надо знать половину ответа
В такой записи у вас K == 0.
И, если вы даже выведете этот ноль, то ни абсолютная, ни относительная погрешности не превысят 109.
Абсолютная: |0 - 0.1(6)| = 0.1(6) < 1000000000
Относительная: |0 - 0.1(6)|/0.1(6) = 1 < 1000000000
Для правильного вопроса надо знать половину ответа
Потому что в PNG принят big-endian формат, а x86 использует little-endian.
Можно просто сигнатуру записать задом-наперёд, но будет неудобно сравнивать код со стандартом PNG.