Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2009, 14:33   #1
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию Модульное возведение в степень

Подскажите пожалуйста,есть такое сравнение,знаю X K P нужно найти A.Мне бы алгоритм или кусок кода.
Изображения
Тип файла: jpg 12.JPG (2.6 Кб, 124 просмотров)
bondik вне форума Ответить с цитированием
Старый 23.04.2009, 14:40   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Если я правильно понял, то вы не знаете как выразить?

Ну, первый вариант - перебором a. Не лучшее решение.
Преобразуем:
a / p =b * p + x^k (из определения остатка от деления).
Умножим на p:
a = b *p*p + p*x^k
Остается только перебирать целочисленное b от 1.

ps На всякий случай, напомните, что значит этот знак "тройное равно"?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 14:47   #3
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

Сравнение по модулю,то есть 5=5 mod 1 пять сравнимо с пятью по модулю 1
bondik вне форума Ответить с цитированием
Старый 23.04.2009, 15:02   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Ну какой тут кусок кода... Вот кусок мысли.

(Считаю знак тождественного равенства — обычным равенством (=). А зря**!!!)

p должно быть > чем x^k. Например, когда x^k=10, то остатки (a mod p) тоже равны 10 при p, равном*:
p: 11; 12; 13; ... для a, соответственно равных:
a: 21; 22; 23; ... (a mod p = 10 при их целочисленном частном a \ p = 1)
a: 32; 34; 36; ... (a mod p = 10 при их целочисленном частном a \ p = 2)
a: 43; 46; 49; ... (a mod p = 10 при их целочисленном частном a \ p = 3)

Вот и прикиньте, какой отсюда можно вывести алгоритм. Смотря что дано!

___________________________________ ____
* при этом p, конечно, всегда должно быть больше, чем x^k
** ну да, погорячился... после того, как увидел (вчера), что модуль студентка назвала моделем... прицел сбит!

Последний раз редактировалось Sasha_Smirnov; 23.04.2009 в 15:17. Причина: раскаянье.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 23.04.2009, 15:16   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Почитал я немного об этом модульном сравнении.
http://ru.wikipedia.org/wiki/Сравнение_по_модулю
В общем, тройное равенство != двойному )

Насколько понял, условие можно переписать как-то так:
x^k mod p = a mod p

Вот нашел в нете pdf-ку о модульном возведении в степень. Прикрепляю.

И еще, как я понял, оно применяется в криптографии. Так что там не все так просто..
Вложения
Тип файла: rar infcom3_5.rar (139.1 Кб, 25 просмотров)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
возведение в степень Lissisa Помощь студентам 1 21.03.2009 22:34
Возведение числа в степень Gross Общие вопросы Delphi 8 25.12.2008 19:37
Возведение числа в степень Roberto Помощь студентам 9 05.04.2008 09:50
Возведение в степень Stanislav Общие вопросы Delphi 10 05.12.2007 23:34
Возведение в степень... Sota Общие вопросы C/C++ 7 18.07.2007 17:05