典型的快速幂成应用
题意:求x 使得x^e%n=num
#include<iostream>
using namespace std;
bool funtion(int x,int e,int n,int num)
{// m^n % k
int b = 1;
while (e > 0)
{
if (e & 1)
b = (b*x)%n;
e = e >> 1 ;
x = (x*x)%n;
}
if(b==num) return true;
return false;
}
int main()
{
int p,q,e,l,c,n;
while(scanf("%d%d%d%d",&p,&q,&e,&l)!=EOF)
{
n=p*q;
while(l--)
{
scanf("%d",&c);
for(int i=0;i<=255;i++)
if(funtion(i,e,n,c))
{
printf("%c",i);
break;
}
}
printf("\n");
}
return 0;
}