同余定理的应用
1 (a+b)%m=(a%m+b%m)%m;
2 (a*b)%m=((a%m)*(b%m))%m;
利用上面定理模拟的
如456=((4*10)+5)*10+6;
1 类如456%4
过程为 4%4=0,(0*10+5)%4=1,(1*10+6)%4=0;
代码如下:
# include
# include
int main()
{
int b;
char s[1000];
scanf("%s",s);
scanf("%d",&b);
int n=strlen(s);
int d=1;
for(int i=1;i{
d=(d*10+s[i]-'0')%b;
}
printf("%d",d);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)