Почему при поиске остатка числа выдает неверный результат? - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д