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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 66, средняя оценка - 4.68
IamSCORPION
SysOp
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
#1

Деление по модулю - C++

28.09.2010, 18:28. Просмотров 8448. Ответов 2
Метки нет (Все метки)

Нужно вычислить следующее выражение
d = 3^(-1) mod 17680
Написал но вот % работает только с целыми числами а у меня виходыт 0.33333333 % 17680
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    // d = 3^(-1) mod 17680 = 11787
    cout<<pow(3.0, -1) % 17680;
    return 0;
}
Всем спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2010, 18:28     Деление по модулю
Посмотрите здесь:

C++ Деление по модулю отрицательных чисел
Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
C++ деление по модулю
C++ деление по модулю 2
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
Деление по модулю C++
C++ Деление по модулю, работа с функцией rand()
Деление по модулю 2 C++
C++ Деление по модулю %
Задача про деление яблок (целочисленное деление) C++
Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
!Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
28.09.2010, 18:58     Деление по модулю #2
Нахождение обратного элемента по модулю делается абсолютно по другому.
Самый распространенный это используя алгоритм Евклида. Исходников его довольно много, если будет желание найдете. Вот два примерчика как можно по-другому искать, если на быструю руку надо (Работают только если обратные существуют).
C++
1
2
3
4
5
6
7
int Obr1(int x,int mod)//в вашем случае x=3,mod=17680, но при x=0 будет висеть =)
{
    int res=x;
    while(res*x%mod!=1)
        res=(x*res)%mod;
    return res;
}
или
C++
1
2
3
4
5
6
7
int Obr2(int x,int mod)
{
    int res=0;
    while(x*res%mod!=1)
        res++;
    return res;
}
А то что вы написали, очень улыбнуло Спасибо за поднятое настроение.
platedz
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 4
05.01.2013, 20:40     Деление по модулю #3
А мне вот интересно, деление по модулю это школьная программа или нет. И если да, то хоть в каком классе ее проходят?
Yandex
Объявления
05.01.2013, 20:40     Деление по модулю
Ответ Создать тему
Опции темы

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