http://acm.hdu.edu.cn/showproblem.php?pid=1211
Java 暴力
m^e % n = c
m是明文,c是密文,直接枚举127个ASCII码对应c的值,然后一一对应即可。
import java.io.*;
import java.math.*;
import java.util.*;
public class Main{
public static void main(String argv[]){
Scanner cin = new Scanner(System.in);
BigInteger p,q,n,temp;
int i,j,l,tempa,e;
int [] a = new int[150];
while(cin.hasNext()){
p = cin.nextBigInteger();
q = cin.nextBigInteger();
e = cin.nextInt();
l = cin.nextInt();
n = p.multiply(q);
for(i=0;i<128;i++){
temp = BigInteger.valueOf(i);
temp = temp.pow(e);
temp = temp.mod(n);
a[i] = temp.intValue();
}
for(i=0;i<l;i++){
tempa = cin.nextInt();
for(j=0;j<128;j++){
if(tempa == a[j]){
System.out.printf("%c",j);
break;
}
}
}
System.out.printf("\r\n");
}
}
}