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

Олимпиадная задача - память Ватсона - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ переделать программу из Pascal в С++ http://www.cyberforum.ru/cpp-beginners/thread843467.html
есть программа на паскале для поиска перевода слов в файлах. нужно переделать эту программу на c++. uses crt; var ru,en: text; r: byte; procedure FindEn; var s,ss,se: string; n:...
C++ как считать весь файл ? char buff; ifstream fin("/Users/Vitaly/Desktop/laba2/laba2/list.txt",ios_base::in); fin>>buff,50; cout<<buff; fin.close(); Эта программа считутет первое слово , если я... http://www.cyberforum.ru/cpp-beginners/thread843463.html
C++ СЛАУ методом Жордана-Гаусса
Нужна программа для решения СЛАУ методом Жордана-Гаусса с выбором главного элемента.
C++ перегрузка операций
Обычным методом задача решена, помогите пожалуйста сделать перегрузку операций Условие: Указанные в заданиях операции реализовать посредством перегрузки подходящих операций #include <iostream>...
C++ Вывод строки фиксированной длинны в cout (аля printf(%5.0d)! http://www.cyberforum.ru/cpp-beginners/thread843397.html
Добрый вечер! Сегодня встал перед выбором... как выводить через printf или cout. Через принтф код выдает ошибку: Необработанное исключение по адресу, ссылаясь на файл (msvcr110d.dll) ..Нарушение...
C++ Написать программу, решающую сравнения первой степени Задние - написать программу, решающую сравнения первой степени, использую алгоритм Евклида. Проблема в том что не работает сама функция нахождения НОД: int NOD_Evklid (int a, int m, int d){ ... подробнее

Показать сообщение отдельно
nonedark2008
908 / 647 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
21.04.2013, 02:45
Все вроде просто. 1=1mod7, 16=2mod7, 16^k=2^k mod7. Наше число имеет вид sum 1*16^i. Следует:
sum 16^i=sum 2^i mod7. Сумму можно перефигачить через сумму геометрической прогрессии. Основной проблемой осталось переполнение целого типа, т. к. 2 в сотой степени явно не влезет. Но тут помогает нам mod7. Т. е. все операции можно проводить по модулю числа 7. 2^3=1mod7. Значит 2^i=2^(i mod 3) mod 7. Получаем уже мелкое число, а не два в сотой. Подставляем в формулу суммы геом прогрессии и смотрим значение остатка от деления на 7. Готово.

Добавлено через 4 минуты
Все что надо, это посчитать остаток от деления входного числа на 3 и впихнуть результат куды нужно а затем посчитать модуль.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru