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

Проблемы с Аффинным шифром - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построить контуры своей области и заполнить её заданными наклонными линиями http://www.cyberforum.ru/cpp-beginners/thread970390.html
Задание: 1. Построить контуры своей области и заполнить её заданными наклонными линиями.. 2. В своей области построить из отрезков прямых линий контуры заданного объекта. 1 и 2 задание выполнить...
C++ Работа с изображениями в GIT Более подходящего раздела для этой темы на форуме не нашел, поэтому пишу здесь. Сегодня зарегистрировался на github и встал такой вопрос. Git хранит не сами файлы, а их изменения. Так вот, если... http://www.cyberforum.ru/cpp-beginners/thread970389.html
Последовательно заполнить заданную прямоугольную область экрана точками по заданному алгоритму C++
Задание: 1. Последовательно заполнить заданную прямоугольную область экрана точками по заданному алгоритму (схема заполнения области). Для вывода точки в каждом режиме использовать: - А)...
почему clrser(); не работает C++
#include<stdio.h> #include<conio.h> main() { int i,n,result=1; clrser(); printf("Vvedit n:"); scanf("%d",&n);
C++ Написать программу на языке СИ++ для установки графического режима работы экрана и вывода основных характеристик этого режима http://www.cyberforum.ru/cpp-beginners/thread970377.html
Задание: 1. Написать программу на языке СИ++ для установки графического режима работы экрана и вывода основных характеристик этого режима. 2. Проверить основные графические режимы работы (сколько...
C++ ListControl редактирование столбцов у записей есть ListControl. Вид - отчет. Есть несколько записей. Есть колонки. В колонках для каждой записи есть значение. Нужно по нажатию на клавишу Обновить, сменить для выбранной записи значение в... подробнее

Показать сообщение отдельно
Streecs
1 / 1 / 0
Регистрация: 03.07.2013
Сообщений: 31
10.10.2013, 10:03  [ТС]
И так, все на много логичнее, чем описывается по всюду! Чтобы найти обратное по модулю число нам нужно использовать Функция Эйлера (в Википедии есть пример вычисления при помощи неё обратного по модулю (как они преобразовали 25 в -3 я не понял, но это и не важно)).
И так шаг первый: Убедится что наши числа взаимно простые! То есть если возьмём a mod m (3mod26) то НОД (a,m)=1. Это обязательно. Иначе обратного нет.
Шаг 2: Найти http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) (фи от m). http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) - количество чисел от 1 до m у которых НОД с m = 1. Другими словами все взаимно простые числа с m, которые меньше m. (В той же статье в Википедии есть табличка для чисел до 99. Можете на них потестить свои проги ищущие http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m)) И так, http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) нашли переходим дальше.
Шаг 3: Используем формулу из статьи http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) и получаем наше обратное! Вот и всё!
Возьмём для примера снова 3mod26. http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (26)=12(можно посмотреть в табличке в Вики)
12-1=11
http://www.cyberforum.ru/cgi-bin/latex.cgi?{3}^{11}mod26=177147mod26=9

Проверяем: 9*3=27, 27mod26=1 Что нам и нужно было! Обратное 3mod26 это 9 или, если хотите,http://www.cyberforum.ru/cgi-bin/latex.cgi?{3}^{-1}=9 (mod26)

Как это за программировать, надеюсь, сами разберётесь. Если нет, пишите письма - постараюсь ответить.

Отдельный привет группе 5112

Добавлено через 4 минуты
Хочу еще добавить, что мой калькулятор на телефоне при попытке вычислить http://www.cyberforum.ru/cgi-bin/latex.cgi?{3}^{-1}=9 (mod26) выдавал 0. Скорее всего просто число было слишком длинным. Так что советую предварительные вычисления делать в Excele или в этом калькуляторе.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru