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

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

Войти
Регистрация
Восстановить пароль
 
adds
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 14
#1

Перевод 10-го числа в 2-ое - C++

18.09.2011, 18:24. Просмотров 558. Ответов 4
Метки нет (Все метки)

Народ обьясните пжлста как работает эта функция(быстрое возведение числа в степень a^d mod n) :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
long powmod(long a, long d, long n)
{
    long b = 1;
 
    while (d) 
    {
        if (d % 2 == 0) 
        {
             d /= 2;
             a = (a * a) % n;
        }
        else 
        {
             d--;
             b = (b * a) % n;
         }
     }
     return b;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2011, 18:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод 10-го числа в 2-ое (C++):

Перевод числа из одной с.с. в другую, манипуляции с цифрами числа - C++
Здравствуйте! У меня такая проблема... Есть программа, выполняющая определенные операции с введенным числом (переставляет местами цифры,...

Бинарные числа! Перевод простого числа в бираное и расчет. - C++
Здравствуйте!Я понимаю, что моя просьба банальна, но я правда не могу никак разобраться с бинарными числами и переводом простых чисел в...

Перевод числа из 10 в 2 сс - C++
Написать рекурсивную функцию перевода числа из 10 в 2 систему счисления. Помогите пожалуйста.

Перевод числа из 10 с.с. в 8 с.с. - C++
не пойму как создать программу по переводу числа из 10 с.с. в 8 с.с. . Дали несколько задач на расчётно-графическую работу,а учитель толком...

перевод числа - C++
подскажите как перевести в 10ую систему число которое записано в двух ячейках массива : a=10; a=99 , причем число 9910 в 16 системе

перевод из строк в числа - C++
помогите с корректированием задачи: дан текст, содержащий целые числа, составить программу, которая выводит на экран минимальное из чисел....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.09.2011, 18:48 #2
Думается, что такое еще быстрее работать будет:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
long powmod(long a, long d, long n)
{
    long rez = 1, b = a;
 
    while (d) 
    {
        if (d & 1)
        {
             rez *= b;
             rez %= n;
        }
        b *= b;
        b %= n;
        d >>= 1; 
     }
     return rez;
}
0
adds
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 14
18.09.2011, 19:20  [ТС] #3
Народ объясните этот кусок
C++
1
2
3
4
5
 else 
        {
             d--;
             b = (b * a) % n;
         }
0
silent_1991
18.09.2011, 19:46
  #4

Не по теме:

adds, и всё-таки вы в СибГУТИ учитесь... Зря обманули в прошлый раз, так бы может-быть помог...

0
fidzhi
5 / 5 / 1
Регистрация: 16.02.2011
Сообщений: 45
18.09.2011, 20:18 #5
Цитата Сообщение от adds Посмотреть сообщение
Народ объясните этот кусок
C++
1
2
3
4
5
 else 
        {
             d--;
             b = (b * a) % n;
         }
Тебе не понятен только данный кусок кода или обязательно в контексте первого поста?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2011, 20:18
Привет! Вот еще темы с ответами:

Перевод числа в строку - C++
составить строковую функцию num_to_str(n) где n целое число ( |n|<1000). возвращаемое значение должно быть строкой в которой число n...

Перевод вещественного числа из N сс в K сс - C++
входные данные: вещественное число,его основание и основание,в которое переводится число. Выходные данные: число в K основании. Знаю,на...

Перевод из числа в строку - C++
Доброго времени суток, уважаемые! Интересует такой вопрос: есть ли в языке C++ оператор перевода из числа в строку. Раньше изучал...

Перевод из числа в строку - C++
Подскажите, пожалуйста, как мне число 1 записать в строку как символ "1"?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.09.2011, 20:18
Ответ Создать тему
Опции темы

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