Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 218, средняя оценка - 5.00
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
#1

Операция mod() - C++

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

Подскажите, pls, как осуществить операцию m mod n (вычисление остатка) не используя операцию деления в процессе вычисления?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2010, 01:44     Операция mod()
Посмотрите здесь:

mod (на C) C++
C++ mod и div
mod и div ?? C++
div и mod C++
A^B mod C C++
C++ mod
mod и div (Чистый С) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Oleg462
31 / 30 / 3
Регистрация: 18.01.2010
Сообщений: 123
29.05.2010, 02:02     Операция mod() #2
все просто
C++
1
m%n
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 17:52  [ТС]     Операция mod() #3
Цитата Сообщение от Oleg462 Посмотреть сообщение
все просто
C++
1
m%n
Спасибо, конечно, но это естественно не подходит! мне надо как осуществляется операция вычисления остатка, причем для больших чисел и даже функция fmod не подходит.
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
29.05.2010, 18:02     Операция mod() #4
Ninasky, приведите пример входных данных и результата
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 20:13  [ТС]     Операция mod() #5
Например: надо вычислить 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 , это пример с маленькими числами, а надо с большими такое же осуществить
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
29.05.2010, 20:41     Операция mod() #6
и чем не устраивает 144976 % 26
что такое "большие числа"
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 22:05  [ТС]     Операция mod() #7
потому что мне надо раскрыть операцию вычисления остатка, большие числа, это 1024 бита как в RSA
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.05.2010, 22:22     Операция mod() #8
Ninasky, Д. Кнут - Искусство Программирования, том 2
Вельшенбах - Криптография на Си и С++ в действии

читайте
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 22:35  [ТС]     Операция mod() #9
Спасибо! знаю я что Кнут том 2(((
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.05.2010, 22:39     Операция mod() #10
Цитата Сообщение от Ninasky Посмотреть сообщение
Спасибо! знаю я что Кнут том 2(((
а в чем же тогда проблема?
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
29.05.2010, 22:56  [ТС]     Операция mod() #11
с программированием очень плохо, а времени разбираться нет(
думала мало ли кто уже такое делал, видимо не повезло
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.05.2010, 22:58     Операция mod() #12
ну я делал это, как раз по тем двум книгам, просто выросло это в немного большее, чем просто функция... у меня тут целый класс написан... так что быстро разобраться тоже не получится
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 16:44  [ТС]     Операция mod() #13
а очень надо...

Добавлено через 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

кто поможет, спасибо большое!
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.05.2010, 16:46     Операция mod() #14
так вам придется не только операцию взятия остатка от деления делать, а еще и модульное возведение в степень и умножение. и вы хотите быстро разобраться, учитывая ваш уровень знаний? вряд ли получится... хотя конечно дело тут больше в математике, чем в программировании... однако же, я могу только подсказать, полностью вряд ли вообще за просто так кто возьмется такой объем выполнять
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 17:07  [ТС]     Операция mod() #15
с математикой проблем нет, а вот с программированием есть. Я так поняла надо искать программиста который будет за деньги это делать...
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.05.2010, 17:09     Операция mod() #16
Цитата Сообщение от Ninasky Посмотреть сообщение
с математикой проблем нет, а вот с программированием есть
из программирования здесь надо знать как строится цикл for
Цитата Сообщение от Ninasky Посмотреть сообщение
Я так поняла надо искать программиста который будет за деньги это делать...
ну да... или же начинать самому, а с небольшими проблемами обращаться на форум
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 17:38  [ТС]     Операция mod() #17
ок, спасибо
Evg
Эксперт CАвтор FAQ
17275 / 5529 / 345
Регистрация: 30.03.2009
Сообщений: 15,041
Записей в блоге: 26
30.05.2010, 19:27     Операция mod() #18
Цитата Сообщение от Ninasky Посмотреть сообщение
Подскажите, pls, как осуществить операцию m mod n (вычисление остатка) не используя операцию деления в процессе вычисления?
Небольшой вопрос. Это институтское задание или нужно реализовать деление на архитектуре, где аппаратное деление отсутствует? Если второе - то завтра с работы могу кинуть исходник, если первое - то не факт, что такой вариант устроит преподавателей (потому как скорее всего требуется некоторый конкретный алгоритм)
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 20:14  [ТС]     Операция mod() #19
какой то определенный алгоритм не нужен.
Буду очень благодарна если скините!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2010, 20:23     Операция mod()
Еще ссылки по теме:

DIv MOD в С++ C++
Как на с++ оформить формулу: (y2-y1)/(x2-x1) (mod M) C++
C++ Расскажите по подробнее о mod
C++ Что такое mod в с++ ?
Div и mod в С++ C++

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17275 / 5529 / 345
Регистрация: 30.03.2009
Сообщений: 15,041
Записей в блоге: 26
30.05.2010, 20:23     Операция mod() #20
Завтра скину, если не забуду

Добавлено через 7 минут
Совсем забыл, что оно уже есть на форуме
Реализация целочисленного беззнакового деления
Yandex
Объявления
30.05.2010, 20:23     Операция mod()
Ответ Создать тему
Опции темы

Текущее время: 06:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru