码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1995 Raising Modulo Numbers (快速幂取余)

时间:2015-05-27 21:10:20      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:c   poj   1995   

#include<iostream>
using namespace std;

int quick_mod(int a,int b,int m)  //模板
{
   a=a%m;
   int ans=1;
   while(b)
   {
     if(b&1)
     {
        ans=(ans*a)%m;
     }
     b>>=1;
     a=(a*a)%m;
   }

   return ans;
}

int main()
{
   int size;
   cin>>size;
   int m, h, a, b;
   while(cin>>m>>h)
   {
      int ans=0;
        for(int i=0;i<h;i++)
        {
            cin>>a>>b;
          ans=(ans+quick_mod(a,b,m))%m;
        }
      cout<<ans<<endl;
   }
}

POJ 1995 Raising Modulo Numbers (快速幂取余)

标签:c   poj   1995   

原文地址:http://blog.csdn.net/wangxinxin_/article/details/46051399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!