Sgu 117. Counting

来源:互联网 发布:中国象棋对弈软件 编辑:程序博客网 时间:2024/05/17 00:13

快速幂取模

自己想的二进制化算法=.=

#include<stdio.h>int a[20][10010];int main(){int n,m,k;while(scanf("%d%d%d",&n,&m,&k)!=EOF){int i,j;for(i=1;i<=n;i++){scanf("%d",&a[1][i]);a[1][i]%=k;for(j=2;j<=14;j++){a[j][i]=a[j-1][i]*a[j-1][i];a[j][i]%=k;}}int res=0;int plus[20];for(i=1;i<=14;i++){if(m%2==1)plus[i]=1;else plus[i]=0;m/=2;}for(i=1;i<=n;i++){int x=1;for(j=1;j<=14;j++)if(plus[j]){x*=a[j][i];x%=k;}if(x==0)res++;}printf("%d\n",res);}return 0;}


原创粉丝点击