1 / 1 / 0
Регистрация: 06.07.2023
Сообщений: 33
|
|
1 | |
Найти такое число b, что (a*b - 1) % p = 006.07.2023, 14:27. Показов 2372. Ответов 25
Есть число 2<=p<10^9 и число 0<a<p необходимо найти такое число b, что (a*b - 1) % p = 0
Есть идея использовать малую теорему Ферма (найти остаток от деления (a^(p - 2))%p), но т.к. p и a огромные, то такие числа хранить просто негде, нашел решение такой задачи на python (Обратное число ), но там используется встроенная функция pow(x, y, z) и туда можно передать в z число для получения остатка от деления (x^y%z).
0
|
06.07.2023, 14:27 | |
Ответы с готовыми решениями:
25
Дано положительное число А > 10. Найти такое k, что (k-1)! <= A < k Найти наименьшее число r, такое что 2 ^r≥N Дано вещественное число а. Найти такое наименьшее n, что 1+ (1/2)+(1/3)+...+(1/n)>а По числу z найти такое число x, что z = (2x +1)*2^y для некоторого y Найти по числу z такое число x , что z = ( 2x+1 ) * 2 ^y (доказать семантику) |
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
||||||
06.07.2023, 15:58 | 2 | |||||
А может, long long int хватит?
0
|
1 / 1 / 0
Регистрация: 06.07.2023
Сообщений: 33
|
|
06.07.2023, 16:07 [ТС] | 3 |
не хватит (10^9)^(10^9)
0
|
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
|
06.07.2023, 16:42 | 4 |
0
|
1 / 1 / 0
Регистрация: 06.07.2023
Сообщений: 33
|
|
06.07.2023, 17:02 [ТС] | 5 |
это функция нахождения обратного числа полученная из малой теоремы ферма если находить сначала a^(p - 2), то как раз и получается в степени. Использование простого перебора не является наилучшим решением и не проходит по времени. Забыл написать, что p простое число
0
|
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
|
06.07.2023, 17:09 | 6 |
Я не понимаю, как Вы свели условие (a*b - 1) % p = 0 к вычислению (a^(p - 2))%p
0
|
Вездепух
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
|
|
06.07.2023, 17:14 | 7 |
Обратное число
Нужно найти какое-то b, удовлетворяющее требованиям. Если взять b = ap-2, то a*b будет равно ap-1. А, согласно малой теореме Ферма, ap-1 - 1 делится на p. То есть будет a*b - 1 = 0 (mod p). А именно это нам и нужно.
2
|
Диссидент
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
|
||||||
06.07.2023, 17:24 | 8 | |||||
Сообщение было отмечено a1paca как решение
Решение
Так в степень с умом возводить надо.. Все же по модулю. Умножил, и тут же взял остаток.
И возведением воспользоваться быстрым. Знаешь такое?
Математика, блин!
3
|
1 / 1 / 0
Регистрация: 06.07.2023
Сообщений: 33
|
|
06.07.2023, 17:30 [ТС] | 9 |
малая теорема Ферма Если p — простое число и a — целое число, не делящееся на,p, то a^(p - 1) - 1 % p == 0.
Добавлено через 5 минут Спасибо огромное, не догадался брать остаток сразу, решение прошло
0
|
1 / 1 / 0
Регистрация: 06.07.2023
Сообщений: 33
|
|
06.07.2023, 18:53 [ТС] | 11 |
можно ссылку, пожалуйста
0
|
Диссидент
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
06.07.2023, 19:02 | 12 |
В подписках не сохранилось. Помню, что в разделе С++. И я там участвовал. И уважаемый TheCalligrapher тоже.
Не так давно. В этом году. Понимаю, что данных мало. Но в обще-то, там все тоже самое.
1
|
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
||||||
07.07.2023, 09:34 | 14 | |||||
Сообщение было отмечено a1paca как решение
Решение
Поддерживаю Volga_.
Откуда следует, что других решений нет (для b!=ap-2)? Правда, в задании требуется найти только одно такое число..... Объединив все обсуждения в итоге получим:
1
|
Модератор
|
||||||
07.07.2023, 12:12 | 15 | |||||
Я верю, нужно найти в интервале [2; p-1] значение
b чтобы (ab-1) кратно на p . Если нету, то нет решения. Поэтому я предлагаю:
0
|
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
|
07.07.2023, 13:02 | 16 |
Volga_, я похожий код привёл в сообщении №2.
Однако, он 100% не подойдёт ТС по времени выполнения
1
|
Модератор
|
||||||
07.07.2023, 14:25 | 17 | |||||
zss, ух, не заметил.
a1paca, я предлагаю вам код, он может подойти по времени выполнения:
Мой алгоритм: Где И Определить: если найти число чтобы
0
|
Диссидент
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
07.07.2023, 18:36 | 18 |
Из единственности обратного элемент в группе
Добавлено через 23 минуты Точнее, оно единственно (если есть) в кольце Zp. То есть все решения равны по модулю p. А если наложить условие 0< b < p (или минимальности), что естественно, то и единственно
1
|
1 / 1 / 0
Регистрация: 06.07.2023
Сообщений: 33
|
|
08.07.2023, 07:20 [ТС] | 20 |
там остаток от деления еще, т.е. b = (a^p-2)%p
1
|
08.07.2023, 07:20 | |
08.07.2023, 07:20 | |
Помогаю со студенческими работами здесь
20
Дано вещественное число a. Найти такое наименьшее n, что 1+1/2+1/3+.+1/n>a Найти число m<p, такое что, m*n при делении на p дает остаток 1 Найти наибольшее число I, такое, что F(I) < 2^N", где F(I) = F(I-1)+F(I-2)+f(I-3), F(1)=F(2)=F(3)=1, N вводится Найти такое число m, что m! является ближайшим к N значением факториала Найти число такое, что произведение его цифр равняется заданному числу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |