POJ 1995 Raising Modulo Numbers(快速幂)

忘是亡心i 2023-06-04 13:57 107阅读 0赞

嗯…

题目链接:http://poj.org/problem?id=1995

快速幂模板…

AC代码:

ContractedBlock.gif ExpandedBlockStart.gif

  1. 1 #include<cstdio>
  2. 2 #include<iostream>
  3. 3
  4. 4 using namespace std;
  5. 5
  6. 6 int main(){
  7. 7 long long N, M, n, a, b, c, sum = 0;
  8. 8 scanf("%lld", &N);
  9. 9 while(N--){
  10. 10 scanf("%lld%lld", &M, &n);
  11. 11 sum = 0;
  12. 12 for(int i = 1; i <= n; i++){
  13. 13 c = 1;
  14. 14 scanf("%lld%lld", &a, &b);
  15. 15 while(b){
  16. 16 if(b & 1) c = c * a % M;
  17. 17 a = a * a % M;
  18. 18 b /= 2;
  19. 19 }
  20. 20 sum += c % M;
  21. 21 }
  22. 22 printf("%lld\n", sum % M);
  23. 23 }
  24. 24 return 0;
  25. 25 }

AC代码

转载于:https://www.cnblogs.com/New-ljx/p/11515343.html

发表评论

表情:
评论列表 (有 0 条评论,107人围观)

还没有评论,来说两句吧...

相关阅读