大整数取模运算,是数论里很常见的知识,这里简单的归纳一下。
- *大整数取模运算,输入正整数 n ,m
- *输出n mod m, 其中n<=10e100, m<=10e9(m在int范围内)
- *n太大,用字符串存储,m用int存储
- *例如:n=1234, 可以分解:
- *1234=((((0*10)+1)*10+2)*10+3)*10+4 mod n
- *由于只有*,+运算,可以将mod放进去
/*********************************/
char input[200];
<pre name="code" class="cpp">const int SIZE = 10000;
const int MOD = 5767169;
int bigMod(char *n)
{
int len=strlen(n);
int ans=0;
for(int i=0;i<len;++i)
{
ans=(int)(((long long )ans*10+n[i]-'0') % MOD);
}
return ans;
}