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

POJ 1995

时间:2015-06-10 17:10:09      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include <iostream>
 2 using namespace std;
 3 
 4 long long power(long long a, long long b, long long m);
 5 
 6 int main()
 7 {
 8     //freopen("acm.acm","r",stdin);
 9     int test;
10     long long sum;
11     long long a;
12     long long b;
13     long long m;
14     long long n;
15     int i;
16     cin>>test;
17     while(test --)
18     {
19         sum = 0;
20         cin>>m;
21         cin>>n;
22         for(i = 0; i < n; ++ i)
23         {
24             cin>>a>>b;
25             sum += power(a,b,m);
26         }
27 
28         cout<<sum%m<<endl;
29     }    
30 }
31 
32 long long power(long long a, long long b, long long m)//快速幂取模加速~
33 {
34     long long ret = 1;
35     while (b)
36     {
37         if (b & 1)//如果把b化成二进制的话,是否 最低位是1
38         {
39             ret *= a; 
40             ret %= m;
41         }
42         a *= a;
43         a %= m;
44         b >>= 1; //右移
45     }
46     return ret;
47 }

 

POJ 1995

标签:

原文地址:http://www.cnblogs.com/gavinsp/p/4566603.html

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