Почему при поиске остатка числа выдает неверный результат? - C#
Формулировка задачи:
Добрый вечер. Не могу понять в чем проблема. Нужно найти моду числа:
где х=3,n=121. В результате должно выводить 1,а выводит 93. В чем проблема?Спасибо
double res2 = (Math.Pow(x, (n - 1) / 2)); Console.WriteLine("res2 = {0}", (res2 % n));
Решение задачи: «Почему при поиске остатка числа выдает неверный результат?»
textual
Листинг программы
int Modulo(int x, int n) { int result = 1; int e = (n - 1) / 2; while (e > 0) { if (e % 2 == 1) result = (result * x) % n; e /= 2; x = (x * x) % n; } return result; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д