long long mul_mod(long long a,long long b,long long m) //a个b相加,结果对m取模
{
long long t=0;
while(b)
{
if(b&1)
{
t+= a%m;
t%=m;
}
a<<=1;
b>>=1;
a%=m;
}
return t;
}
如果a与b十分大时,就必须采用这个方法了,背下。
还有种方法:
int mod(char str[],int num)
{
int number[100];
for(int i=0;i<strlen(str);i++)
number[i]=str[i]-'0';
int remainder=0;
for(int i=0;i<strlen(str);i++)
{
remainder=((long long)remainder*10+number[i])%num;
}
return remainder;
}