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

Возведение в степень по модулю для чисел близких к max long long - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ как определить число в строке? http://www.cyberforum.ru/cpp-beginners/thread424953.html
У меня по задаче сказанно ввести строку и найти произведение входящих в строку чисел, не могу понять как определить числа, поскольку интернет весь облазил и полезного мало.
C++ Все та же ошибка error C2447 Всем привет!При компиляции,компилятор высвечивает мне "error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)", в 17-ой строчке.Я по учебнику попытался написать программу с использованием аргументов переменных функции main,но в итоге не знаю как исправить эту ошибку.Буду благодарен за помощь! Код: #include "stdafx.h" #include <iostream> using... http://www.cyberforum.ru/cpp-beginners/thread424947.html
C++ Матрицу из файла,повернуть на 90 градусов по часовой
Здравствуйте, есть такое задание. Содержание матрицы размерности n*n повернуть на 90 градусов по часовой стрелке вокруг центра симметрии матрицы.Исходная матрица вводится из файла. На форуме видел код как повернуть матрицу,но там содержание матрицы было в самом коде,помогите сделать пожалуйста. Добавлено через 7 часов 25 минут UPDATE
C++ Работа в ACCESS 2010
Помогите пожалуйста разобраться в таком вопросе,необходимо сделать лабораторную работу,методичка написана для программы 2007 года а у меня установлена прграмма 2010 года. Не могу найти где находится группа "Поля и столбцы",где пиктограмма "Новое поле" и где шаблоны полей?
C++ Синтаксический анализ выражений http://www.cyberforum.ru/cpp-beginners/thread424937.html
Здравствуйте. У меня в текстовом файле есть 3 выражения PRICE = 5 TAX = PRICE * 1e-02 COST = PRICE + TAX Выражение анализирует нормально. Вот, Как можно взять значения выражения PRICE и TAX? И подставить в выражение COST = 5 + 0.05. Я использую массив строки.
C++ Змейка. Начало и конец. Решил написать Змейку с нуля. Не хотелось бы никуда подглядывать и копировать чужие идеи - хочется создать свое "колесо" =) Решил все это сделать из-за желания и необходимости изучить VC++, а выбранная задача, как мне кажется, научит не малому. Использую VC++ 2010, из литературы: "VC++ в задачах и примерах" Н. Культин, "Программирование на С++" У.Савич, "С/С++ MS Visual C++ 2010" Б.Пахомов.... подробнее

Показать сообщение отдельно
Байт
 Аватар для Байт
13976 / 8807 / 1228
Регистрация: 24.12.2010
Сообщений: 15,957
09.01.2012, 18:49     Возведение в степень по модулю для чисел близких к max long long
Цитата Сообщение от valeriikozlov Посмотреть сообщение
В голову пришла одна идея, может быть не очень быстро, но точно должно считать.
Сначало нужно вычислить A^2 mod C
Вычисляем так:
A+A , если результат получился отрицательный, то всегда можно вычислить положительный результат (A+A) mod C
Итак имеем (A*2) mod C
Теперь можем вычислить (A*4) mod C
Складываем (A+A) mod C и (A+A) mod C, опять если результат отрицательный, то можем вычмслить положительный (A*4) mod C
И т.д.
Кстати промежуточные результаты можно запоминать, они еще пригодятся, если A не степень 2.
Таким образом вычислим (A^2) mod C
Имея (A^2) mod C , будем сразу вычислять (A^4) mod C, затем (A^8) mod C и т.д. Эти промежуточные результаты теперь тоже лучше запоминать, они нам тоже пригодятся, если B не степень 2.
Есть такой алгоритм быстрого возведения в степень (целую) Там тоже считается x^2 x^4 ...
Только тут приходится из-за больших чисел делать как бы "быстрое" умножение. Складывать-то мы можем, а умножать разрядная сетка не велит...
 
Текущее время: 13:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru