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

A^B mod C - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции Си++ http://www.cyberforum.ru/cpp-beginners/thread339660.html
Подскажите, пожалуйста, книгу, в которой содержатся описания всех (или практически всех) библиотечных функций С++. Знаю, что в Интернете много порталов по этому вопросу, но хотелось бы именно в...
C++ Выпуклый многоугольник Вот программа: #include <iostream> #include <cmath> #define size 100000 using namespace std; class point { http://www.cyberforum.ru/cpp-beginners/thread339650.html
scanf for double C++
Не подскажите как будет выглядеть функция scanf если нужно считать double Заранее спасибо
C++ Как реализовать в программе поддержку skin-ов
Здравствуйте! Я пытаюсь сделать в Microsoft Visual Studio 2010 на Visual C++ плеер на библиотеке BASS.dll. Как сделать, чтобы программа поддерживала скины? (Т.е. чтобы имелся ini-файл, содержащий...
C++ Реализация класса «двусвязный список» http://www.cyberforum.ru/cpp-beginners/thread339593.html
потребовалось выполнить такое задание, вот только не могу сообразить с чего начать и как собственно будет выглядеть код (в связи с тем, что не трогал студию, а задание еще апрельской давности). Если...
C++ Чтение файла Здравствуйте. Подскажите, пожалуйста, как прочитать файл с конца? Т.е. у меня записаны числа в файле 1 2 3 и т.д., а вывод 3 2 1. подробнее

Показать сообщение отдельно
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
06.08.2011, 21:38
Цитата Сообщение от Roof Посмотреть сообщение
Рекурсию нужно использовать при возведении в степень.
Насколько я понял эту запись, то сначала A возводится в степень B, потом от полученного результата находим остаток от деления.
Один из самых простых вариантов, работает только со степенями >= 0.
Есть такая оговорка: если один из операндов оператора % ( остаток от деления ) отрицательный, то результат получится зависимый от машины.
Т.е. нужно предусматривать:
- чтобы либо все числа A, B и C были положительными,
- либо если число A отрицательно, то степень B должна быть четная и число C положительно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
int pow_xy( int x, int y ) {
    if ( y == 0 )
        return 1;
    else
        return x * pow_xy( x, y - 1 );
}
 
int main() {
    int a, b, c;
    cout << "Введите a" << endl;
    cin >> a;
 
    cout << "Введите b" << endl;
    cin >> b;
 
    cout << "Введите c" << endl;
    cin >> c;
 
    cout << "Результат: " << ( pow_xy( a, b ) %c ) << endl;
    return 0;
}
a = 1000, b = 10000 ?
Могу ошибаться, но тут нужно хранить в А только последние n чисел, n зависит от C(количество разрядов в С + 1).
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru