大数取模公式的理解

2019-04-14 16:02发布

大数取模公式的理解

公式:(a+b)%m=(a%m+b%m)%m。
所以大数比如1234%m可以拆分为:*1234=((1*10+2)*10+3)*10+4 mod m。
然后有代码: int num=0; for(int i=0;ilength;++i){ num=(num*10+number[i]-'0')%m; } return num; 这里num*10是上一次低位的数取模之后数,乘以10之后,再取模,对结果是没有影响的,a%m=a*10%m,a%m=a%m%m。