Найти в Дзене
Длинная арифметика

Длинная арифметика

Разбираем задачи из темы Длинная арифметика
подборка · 5 материалов
Задача 535. Неправильное сложение
Задача из темы про длинную арифметику, но в реальности просто на работу с числами. Рассмотрим, как можно удобно использовать преобразование к строке, но сначала читаем условие: Володя использует оригинальное сложение. Первым делом, давайте тоже напишем функцию, которая будет складывать два числа таким же способом: В этой функции в цикле складываются последние две цифры входных чисел. Благодаря целочисленному делению на 10, эти цифры удаляются из чисел, и на следующей итерации цикла уже обрабатываются предпоследние цифры...
Задача 18. Факториал
Решим сложную задачу на двух языках. Читаем условие: Алгоритмически решается задача очень просто: надо перебрать все числа от 1 до n и перемножить их. И именно так и надо делать. Например на Python. Считаем входное число и приведём его к числовому типу: Затем заведём переменную, в которой будем накапливать ответ. И инициализируем её единицей. Обращу внимание, что не нулём, потому что будем домножать её, а не прибавлять к ней. И запустим цикл, в котором выполним умножения: Осталось вывести ответ: И этим решением легко сдать задачу...
201 читали · 5 лет назад
Задача 541. Две строки
Разберём задачу, решение которой на Python работает быстрее, чем на PyPy. Задача на длинную арифметику: Для программистов на C++ или Pascal задача выглядит очень страшно и сложно: надо брать все циклические сдвиги строки, преобразовывать в числа, сравнивать (или сравнивать строки, но не в алфавитном порядке, а как числа). Ужас просто. Но на Python мы уложимся в 9 строк (можно и меньше, но нельзя, чтобы страдала читаемость кода). Сначала надо понять, что максимальную разность можно получить, если вычитать самое маленькое из возможных чисел из самого большого...
166 читали · 5 лет назад
Задача 474. Последовательность Кеане
Давайте закрепим мнение, что решать задачи на длинную арифметику на Python сильно проще, с помощью разбора очередной задачи с сайта acmp.ru. Из входных данных видно, что это задача на длинную арифметику, так как число не помещается в стандартные типы данных. Как же решать задачу? На самом деле, она довольно схожа с задачами, которые можно встретить в ЕГЭ по информатике. Давайте пронумеруем биты в последовательности с нуля, а не с единицы, как предлагается в условии задачи. Ещё интереснее становится,...
710 читали · 5 лет назад
Задача 7. Золото племени АББА
Предлагаю на примере этой задачи (с сайта acmp.ru) на длинную арифметику посмотреть, как знание разных языков программирования помогает проще и быстрее получать заветный Accepted. Эта задача находится в разделе "длинная арифметика", но стоит оговориться, что никаких арифметических операций с длинными числами здесь делать не надо, только операцию сравнения. Самым простым решение будет на языке Python, потому что в нём длинная арифметика есть "из коробки". И это, к сожалению, убивает всю изначальную соль задачи...