내가 모듈러 지수화를 구현하려고하지만 난 정답을 얻을 수 없습니다모듈러 지수화는 (알고리즘은 잘못된 대답을 제공합니다)
공공 정적 BigInteger를 modPow (이 BigInteger B, BigInteger의 전자,이 BigInteger m)
{// 모듈러 지수화를 계산하고 제로의 지수 비트에 대한 아무것도하지 않는 BigInteger를 클래스
BigInteger x= new BigInteger("1"); //The default value of x
BigInteger power ;
power=b.mod(m);
String t =e.toString(2); //convert the power to string of binary
String reverse = new StringBuffer(t).reverse().toString();
for (int i=0;i<reverse.length();i++) { //this loop to go over the string char by char by reverse
if(reverse.charAt(i)=='1') { //the start of if statement when the char is 1
x=x.multiply(power);
x=x.mod(m);
power=power.multiply(power);
power=power.mod(m);
} //the end of if statement
}//the end of for loop
return x;
} //the end of the method modPow
덕분에 많은 지금 IT 이제까지 내가 좋아하는 StackOverflow의 코멘트를 할 수있다 – user2835815
OK입니다. – erickson
나는 512 비트로 숫자를 시도했는데 작동하지 않았다 : ( – user2835815