设y为任意整数,x mod m=d
因为
(x*y) mod m =(x mod m)y=(x mod m)(y mod m)mod m
则有:
y*(x mod m)=(y*d) mod m
将大数abcd分解为((((a*10)+b)*10+c)*10+d)然后从前向后求模即可
int div_mod(char s[], int m) {
int ans = 0;
for (int i = 0; s[i] != '\0'; i++)
ans = (ans * 10 + s[i] - '0') % num;
return ans;
}