大整数取模运算,是数论里很常见的知识,这里简单的归纳一下。

  • *大整数取模运算,输入正整数 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;
}