Добрый день!
В решении своей задачи мне необходимо находить остаток от деления произведения чисел. Формально это можно записать так:
x = (a * b) mod c, где a, b и с - целые положительные числа, и с > a.
Дело в том, что при реализации этого этапа задачи на языке программирования (пишу на C#) будет происходить переполнение целочисленного типа при значениях >50 000 (Int32).
На языке C# это выражение у меня выглядит так:
x = (a * b) % c;
Вопрос: Существует ли формула, позволяющая разбить вышеописанную формулу на выражение с двумя mod'ами или существует ли способ, позволяющий как-то избежать вычисления произведения двух больших чисел? Благодарю.
Int64– diralik Sep 10 '17 at 15:05Int64, поэтому хотел узнать, существует ли формула, упрощающая вычисление. – Andrei Khotko Sep 10 '17 at 15:06(a + b) / c=a/c + b/c– Andrei Khotko Sep 10 '17 at 15:08