Приветствую всех! Пытаюсь решить уравнение по нахождению числа
x который находится в диапазоне от
1 до
10^9( то есть число
x находится в пределе 100 миллионов чисел, но есть огромные числа
а и
b которые находятся в диапазоне
10^53Но число
x находится в диапазоне от
1 до
10^9. Вопрос как разложить все это? Я использую обычную формулу.
x = ((a + (b*R)) % mod)У меня не очень глубокие познание в математике, но должен существовать метод с помощью которого можно упростить поиск.
То есть изменить формулу.
Числа
а и
b зашифрованный с помощью компилятора моего девайса, известно что числа,
а и
b находятся в диапазоне
10^53Единственное что я могу через девайс это взаимодействовать на числа,
а и
b это умножать другие числа,
складывать и вычитать их между собою, а так же складывать и вычитать другие числа.
Я попросил программистов написать программу для этих математических операции.
В итоге вышла формула где
R - это любое случайное число (Программа генерирует и подставляет случайное число)
Программу написали так, чтобы диапазон случайных чисел
R можно было менять от
1 до
10^53. (При переборе)
Но числа огромные с помощью перебора нет вариантов, что я получу число
x в диапазоне
10^9Модуль известен это число которое тоже
10^53mod = 27471149068459679833548130642941322938763819060730593
x = ((a + (b*R)) % mod)
x = ((a - (b*R)) % mod)
x = ((b + (a*R)) % mod)
x = ((b - (a*R)) % mod)Как можно изменить формулу чтобы, упростить поиск, разложить числа и получить число
x ?
Все таки число
x который я ищу составлять наименьший диапазон, то есть меньше чем сам модуль.