В различных тождествах по модулю тождество вычитания утверждает, что:
(a - b) % c = (a % c - b % c) % c
Но если я посмотрю в этом примере, где a = 508, b = 201 and c = 101
, ответ, который я получу с использованием тождества, будет отрицательным, что не правильно,Моя программа на c ++ использует факториал огромных чисел (не начинается с 1, а с заданного пользователем ввода в другое число) по модулю 10^9 + 7
минус другое факториальное число (меньше первого значения) mod 10^9 + 7
, но я получаю отрицательные значенияили переполняется при использовании unsigned long long.
Есть ли возможная реализация для получения правильного вывода?