SGU_117
直接应用快速幂取模即可。
#include<stdio.h>
#include<string.h>
int N, M, K;
int pow_mod(int a, int n)
{
int ans;
if(n == 1)
return a % K;
ans = pow_mod(a, n / 2);
ans = ans * ans % K;
if(n % 2)
return ans * a % K;
else
return ans;
}
void solve()
{
int i, d, cnt = 0;
for(i = 0; i < N; i ++)
{
scanf("%d", &d);
if(pow_mod(d, M) == 0)
++ cnt;
}
printf("%d\n", cnt);
}
int main()
{
while(scanf("%d%d%d", &N, &M, &K) == 3)
{
solve();
}
return 0;
}