根据题意,一步步的求就可以了。主要是知道逆元的求法
#include<stdio.h>
int main()
{
int i,j,p,q,e,l,m,n,c,d,fn;
while(scanf("%d%d%d%d",&p,&q,&e,&l)!=EOF)
{
n=p*q;
fn=(p-1)*(q-1);
d=fn/e+1;
while(1){ // 求逆元
if((d*e)%fn!=1){
d++; continue;
}
else break;
}
for(i=0;i<l;i++){
scanf("%d",&c);
m=1;
for(j=0;j<d;j++){
m*=c;
m%=n;
}
printf("%c",m);
}
printf("\n");
}
system("pause");
return 0;
}