数论--大整数取模

来源:互联网 发布:淘宝旺铺多少钱一个月 编辑:程序博客网 时间:2024/05/16 19:16

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

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


  • 0 0