Деление с остатком
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Решение данной задачи похоже на решение задачи "A div B". Здесь следует учесть, что делимое - достаточно большое число и в процессе вычисления текущее значение может превосходить максимально возможное для 4-байтного целого, поэтому нужно использовать другие типы (например, int64 или __int64 в паскале).
Алгоритм, реализующий данную задачу может быть записан в следующем виде:
const maxsize=101;
int a[maxsize], b;
int64 x=0;
readlong(a);
read(b);
for i=a[0]..1
x = (x*10+a[i]) mod b;
write(x);
Информацию о представлении длинных чисел и реализацию функции readlong вы можете прочитать здесь.
|