Не могу реализовать на Java следующий алгоритм:
При x=5
, y=2
, N=4
выдает правильный результат, при x=5
, y=10
, N=11
- неправильный.
public static double modPower(double x, double y, int N)
{
if(y==0) return 1;
double z = modPower(x, y/2, N);
if ((y % 2) == 0)
return (z*z)%N;
else
return (x*z*z)%N;
}
Свежие комментарии