Ошибка при возведении в степень по модулю 33 - C#
Формулировка задачи:
ошибка при возведении в степень по модулю 33
пробую 15^17 по модулю должен вывести 27
14^17 должно быть 20
это алгоритм RSA, пытаюсь зашифроать букву п -она под помером 15
буква о-номер 14
int p = 3; int q = 11; int n = 33; int k = 20; int io = 17; //int ul = 1 / io; // int d = ul % k; string temp = string.Empty; string s; s = textBox1.Text; n = s.Length; string alf = "абвгдежзийклмнопрстуфхцчшщъыьэюя"; int m = alf.Length; /* для каждого символа кодируемой строки */ for (int i = 0; i < s.Length; i++) /* поиск соответствующего символа в алфавите */ for (int j = 0; j < alf.Length; j++) { /* если символ найден */ if (s[i] == alf[j]) { double letter = j; letter = (Math.Pow(letter, io )) ; letter = letter % 33 ; // double b = Math.Pow(15, 17); textBox5.Text = temp += " "+letter.ToString("#");
Решение задачи: «Ошибка при возведении в степень по модулю 33»
textual
Листинг программы
public BigInteger MyPower(int a, int x) { BigInteger result = new BigInteger(a); for (int i=0; i < x - 1; i++) result *= a; return result; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д