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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539
#1

Вычисление остатка - C++

19.01.2012, 19:55. Просмотров 1914. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Есть очень большое произведение(100*101*102*...*100000)
Нужно вычислить остаток этого произведения при делении на 23, как это можно сделать не прибегая внештатным классам(ну может формула какая-либо есть и тп)
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2012, 19:55     Вычисление остатка
Посмотрите здесь:

Вычисление непрерывных дробей и выражений. Вычисление полиномов и их производных. C++
C++ Вычисление частного и остатка
Рекурсия: сложение, вычитание, деление и вычисление остатка от деления двух целых чисел C++
C++ C++ функция деления нацело без остатка
Нужно разобраться в выделении остатка C++
Определить, делится ли число на 4 без остатка C++
тип float и вывод остатка через a % b C++
C++ Найти количество чисел, делящихся на 3 и 5 без остатка
Является ли сумма делимой на 2 без остатка C++
C++ Rand(), приоритет умножения и остатка от деления
C++ Шаблонная функция вычисления остатка
C++ Вернуть число из остатка от деления

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,841
19.01.2012, 20:02     Вычисление остатка #2
помоему есть св-во, но точно не помню,
(a * b) % c = ((a % c) + (b % c)) % c
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539
19.01.2012, 20:10  [ТС]     Вычисление остатка #3
А если скажем три множителя, то это будет выглядеть так:
(a*b*c)%d = (a%d + b%d + c%d)%d ??

Добавлено через 3 минуты
+ при использовании формулы и без неё получаются разные ответы:
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    int a,b;
    a = 123;
    b = 321;
    cout << (a*b)%5 << endl;
    cout << ((a%5) + (b%5))%5 << endl;
    system("pause");
    return 0;
}
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,841
19.01.2012, 20:12     Вычисление остатка #4
первый раз написал неправильно, так -
(a * b) % c = ((a % c) * (b % c)) % c
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539
19.01.2012, 20:16  [ТС]     Вычисление остатка #5
Правил это правило:
C++
1
(a*b*c)%d = (a%d * b%d * c%d)%d
Работает
Большое спасибо за помощь!
Yandex
Объявления
19.01.2012, 20:16     Вычисление остатка
Ответ Создать тему
Опции темы

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