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

POJ 1995 Raising Modulo Numbers

时间:2019-03-18 20:02:34      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:while   std   numbers   矩阵快速幂   个数   ber   var   print   mod   

 

题意:给你一个数M和H对(Ai,Bi)(1<=i<=H),让你求(A1B1+A2B2+ ... +AHBH)mod M.

技术图片

技术图片

Sample Output

2
13195
13

...

 

 1 #include <iostream>
 2 #include <stdio.h>
 3 int qpow(int a, int b,int m)
 4 {
 5     int ans = 1,t;
 6     t=a%m;
 7     while(b)
 8     {
 9         if(b&1)
10             ans=(ans*t)%m;
11         b>>=1;
12         t=(t*t)%m;
13     }
14     return ans;
15 }
16 
17 
18 int main()
19 {
20     int z,m,h,cnt,sum;
21     scanf("%d",&z);
22     while(z--)
23     {
24         scanf("%d%d",&m,&h);
25         sum=0;
26         while(h--)
27         {
28             int a,b;
29             scanf("%d%d",&a,&b);
30             cnt=qpow(a,b,m);
31             sum=(sum+cnt)%m;
32         }
33         printf("%d\n",sum);
34     }
35 }

 _(:з」∠)_,同余定理...矩阵快速幂还不会啊。。。

POJ 1995 Raising Modulo Numbers

标签:while   std   numbers   矩阵快速幂   个数   ber   var   print   mod   

原文地址:https://www.cnblogs.com/greenaway07/p/10554352.html

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