Системы счисления(36 задач)
"Длинная" арифметика(58 задач)
Простые числа и разложение на множители(45 задач)
Остатки(21 задач)
Быстрое возведение в степень(3 задач)
Быстрое преобразование Фурье(3 задач)
Напишите программу, вычисляющую остаток от деления заданного «длинного» числа на заданную цифру.
В первой строке задана цифра K (1≤K≤9). Во второй строке задано натуральное число N, состоящее из не более чем 250 цифр.
Выведите остаток от деления N на K.
Примеры
Входные данные | Выходные данные |
5 123456789 | 4 |
1 123 | 0 |
В часах села батарейка, и они стали идти вдвое медленнее. Когда на часах было x1 часов y1 минут, правильное время было a1 часов b1 минут. Сколько времени будет на самом деле, когда часы в следующий раз покажут x2 часов y2 минут.
Заданы числа x1, y1, a1, b1, x2, y2 в указанном порядке. Все числа целые. Числа x1, a1, x2 — от 0 до 23, числа y1, b1, y2 — от 0 до 59.
Выведите два числа a2, b2, определяющие сколько будет времени на самом деле, когда на часах будет x2 часов y2 минут.
Примеры
Входные данные | Выходные данные |
12 34 10 34 12 35 | 10 36 |
12 34 10 0 2 34 | 14 0 |
У калькулятора есть две ячейки памяти: содержимое первой из них всегда отображается на табло, вторая является буфером. В начальный момент времени на табло калькулятора отображается целое число X, а в буфере записано число 0. У калькулятора работают только две клавиши: «+» и «=». При нажатии на «+» число, которое в данный момент отображено на табло, копируется в буфер. При нажатии на «=» число из буфера прибавляется к числу, отображенному на табло и результат отображается на табло, число в буфере при этом не меняется.
Требуется за наименьшее число нажатий клавиш на калькуляторе добиться того, чтобы на табло было отображено число Y.
Входной файл содержит два целых числа X и Y. Каждое из этих чисел по модулю не превышает 109.
В первую строку выходного файла выведите одно число — количество нажатий клавиш, которое потребуется для получения числа Y. Если из числа X получить число Y с помощью указанных операций невозможно, в выходной файл выведите одно число –1.
-1 -8
6
2 16
6
0 0
0
\(N\)-лягушка живет на болоте, на котором в ряд растут бесконечно много кувшинок, пронумерованных слева направо числами 1, 2, 3, ...
Изначально N-лягушка сидит на кувшинке с номером \(K\) (\(K\) > \(N\)). Каждый раз \(N\)-лягушка прыгает на \(N\) кувшинок влево и повторяет это, пока не оказывается на номере, меньше либо равном \(N\). Если она попадает на кувшинку с номером \(N\), то становится счастливой, и дальше никуда не прыгает. Если же она попадает на кувшинку с каким-нибудь номером \(M\) < \(N\), то огорчается, прыгает на \(N\) кувшинок вправо и превращается в \(M\)-лягушку (теперь она будет прыгать на \(M\) клеток влево и мечтать попасть на клетку номер \(M\), а если у нее это не получится, то она превратится в \(X\)-лягушку, и так далее).
Требуется выяснить, исполнятся ли когда-либо мечты \(N\)-лягушки, сидящей изначально на кувшинке с номером \(K\), и если да, то на какой кувшинке она окажется.
Вводятся два натуральных числа \(N\) и \(K\). 1 ≤ \(N\) < \(K\) ≤ 2∙\(10^9\).
Выведите номер кувшинки, на которой останется \(N\)-лягушка. Если мечты лягушки никогда не исполнятся, выведите одно число 0.
2 10
2