В начале недели была рассмотрена простая задачка, но разные языки программирования реагируют на одни и те же входные данные по-разному. Задачка тут. Задачка была достаточно простая. Необходимо было сделать целочисленное деление по модулю. как Вы могли заметить в комментариях было решение. То есть, если целочисленно поделить 31 на 3, те результат будет 10 и остаток 1, неважно какой это язык - паскаль, Си или Python. А теперь переходим к отрицательным числам и то же число -31 введем в разных языках. На Pythone получим следующий результат. А в Паскале это будет : А теперь разберемся, почему так происходит и в чем разница. Деление с остатком это арифметическая операция, в результате которой получаем два целых числа. Одно из которых частное максимально приближенно к частному от дробного деления, но меньше него и остаток, который всегда меньше делителя. С точки зрения математики, остаток всегда должен быть больше или равен нулю. Если брать положительные числа, то здесь все сходится. А в
Даже опытные программисты могут споткнуться на этой задаче. Разбор.
14 февраля 202014 фев 2020
3323
1 мин