Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.98/818: Рейтинг темы: голосов - 818, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12

Операция mod()

29.05.2010, 01:44. Показов 165749. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, pls, как осуществить операцию m mod n (вычисление остатка) не используя операцию деления в процессе вычисления?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2010, 01:44
Ответы с готовыми решениями:

Нужно посчитать a^x * m mod p и b/(a^x) mod p
Нужно посчитать a^x * m mod p. Где a, x, m, p(простое число) - очень большие числа. И нужно посчитать b/(a^x) mod p. Программа типа ...

mod ^И
//----- остаток неправильный printf("%d %d",9%3,9&2); //0 0 printf("%d %d",1%3,1&2); //1 0 //----- в то же время следующее...

A^B mod C
Найти A^B mod C. Тут как-то надо использовать рекурсию. Кто может помочь?

26
31 / 30 / 19
Регистрация: 18.01.2010
Сообщений: 123
29.05.2010, 02:02
все просто
C++
1
m%n
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 17:52  [ТС]
Цитата Сообщение от Oleg462 Посмотреть сообщение
все просто
C++
1
m%n
Спасибо, конечно, но это естественно не подходит! мне надо как осуществляется операция вычисления остатка, причем для больших чисел и даже функция fmod не подходит.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
29.05.2010, 18:02
Ninasky, приведите пример входных данных и результата
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 20:13  [ТС]
Например: надо вычислить 144984 mod 26.
и именно делением в столбик, т.е.
1. 1<26
14<26
144 >26
C
1
2
3
4
5
6
7
b=144
while (b > 26)
{
b = b-26;
i++;//первое число частного, i = 5
//остается b = 14
}
2. b=14<26
149>26
C
1
2
3
4
5
6
7
b=149
while (b > 26)
{
b = b-26;
i++;//dnjhjt число частного, i = 5
//остается b = 19
}
3. b=19<26
198>26
C
1
2
3
4
5
6
while (b > 26)
{
b = b-26;
i++;//третье число частного, i = 7
//остается b = 16
}
4. b=16<26
164>26
C
1
2
3
4
5
while (b > 26)
{
b = b-26;
i++;//первое число частного, i = 6
//остается b = 8
5. b=8<26
но число закончилось, значит b=8 остаток
}


144976 mod 26 = 8 , это пример с маленькими числами, а надо с большими такое же осуществить
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
29.05.2010, 20:41
и чем не устраивает 144976 % 26
что такое "большие числа"
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 22:05  [ТС]
потому что мне надо раскрыть операцию вычисления остатка, большие числа, это 1024 бита как в RSA
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
29.05.2010, 22:22
Ninasky, Д. Кнут - Искусство Программирования, том 2
Вельшенбах - Криптография на Си и С++ в действии

читайте
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 22:35  [ТС]
Спасибо! знаю я что Кнут том 2(((
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
29.05.2010, 22:39
Цитата Сообщение от Ninasky Посмотреть сообщение
Спасибо! знаю я что Кнут том 2(((
а в чем же тогда проблема?
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 22:56  [ТС]
с программированием очень плохо, а времени разбираться нет(
думала мало ли кто уже такое делал, видимо не повезло
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
29.05.2010, 22:58
ну я делал это, как раз по тем двум книгам, просто выросло это в немного большее, чем просто функция... у меня тут целый класс написан... так что быстро разобраться тоже не получится
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 16:44  [ТС]
а очень надо...

Добавлено через 17 часов 12 минут
вообщем надо разработать защищенное вычисление m^e mod n.
m, e,n- защищено AN-кодом (закодированное m = A*m b и т.д.)
т.е. например есть 688^79 mod 3337 = 1570, а нужно (A = 29) 688*29^79*29 mod 3337*29 = 1570*29

кто поможет, спасибо большое!
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
30.05.2010, 16:46
так вам придется не только операцию взятия остатка от деления делать, а еще и модульное возведение в степень и умножение. и вы хотите быстро разобраться, учитывая ваш уровень знаний? вряд ли получится... хотя конечно дело тут больше в математике, чем в программировании... однако же, я могу только подсказать, полностью вряд ли вообще за просто так кто возьмется такой объем выполнять
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 17:07  [ТС]
с математикой проблем нет, а вот с программированием есть. Я так поняла надо искать программиста который будет за деньги это делать...
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
30.05.2010, 17:09
Цитата Сообщение от Ninasky Посмотреть сообщение
с математикой проблем нет, а вот с программированием есть
из программирования здесь надо знать как строится цикл for
Цитата Сообщение от Ninasky Посмотреть сообщение
Я так поняла надо искать программиста который будет за деньги это делать...
ну да... или же начинать самому, а с небольшими проблемами обращаться на форум
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 17:38  [ТС]
ок, спасибо
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.05.2010, 19:27
Цитата Сообщение от Ninasky Посмотреть сообщение
Подскажите, pls, как осуществить операцию m mod n (вычисление остатка) не используя операцию деления в процессе вычисления?
Небольшой вопрос. Это институтское задание или нужно реализовать деление на архитектуре, где аппаратное деление отсутствует? Если второе - то завтра с работы могу кинуть исходник, если первое - то не факт, что такой вариант устроит преподавателей (потому как скорее всего требуется некоторый конкретный алгоритм)
0
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 20:14  [ТС]
какой то определенный алгоритм не нужен.
Буду очень благодарна если скините!
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.05.2010, 20:23
Завтра скину, если не забуду

Добавлено через 7 минут
Совсем забыл, что оно уже есть на форуме
Реализация целочисленного беззнакового деления
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2010, 20:23
Помогаю со студенческими работами здесь

mod (на C)
нужно проверить число на нечётность я сделал так: if (k mod 2 == 1) &lt;действия&gt; но компилятор выдал ошибку типа:syntax error...

mod
Здравствуйте! У меня вопрос наверное глупый. Препод для выбора курсовой поставил следующие условия: Вариант задания выбирается по формуле...

Div и mod в С++
Здравствуйте. Перехожу из паскаля в c++. Есть отрывок кода который проверяет есть ли в числе N цифра 3 и есть ли в числе вводимое с...

DIv MOD в С++
не подскажете как описать оператор ДИВ в С++? суть такова а=5 b=2 x=a DIV 2 y=5/2 printf(...x) (y) мне нужно...

mod и div ??
Подскажите пожалуйста как будет mod и div в С++? Очень нужно)) Добавлено через 9 минут и пожалуйста напишите пример как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru