HDU2035人见人爱A^B(快速幂求余)

要求A^B的后三位整数,每次乘积后再对1000取余即可,其中第一种为快速幂。

  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. long long mod_pow(long long x,long long n)
  5. {
  6. if(n==0) return 1;
  7. long long res=mod_pow(x,n/2);
  8. res=res*res%1000;
  9. if(n%2==1) res=res*x%1000;
  10. return res;
  11. }
  12. int main()
  13. {
  14. long long a,b;
  15. long long res;
  16. while(cin>>a>>b)
  17. {
  18. if(a==0 && b==0) break;
  19. res=mod_pow(a,b);
  20. cout<<res<<endl;
  21. }
  22. return 0;
  23. }
  24. //int main()
  25. //{
  26. // int a,b,i,ans;
  27. // while(cin>>a>>b)
  28. // {
  29. // ans=1;
  30. // if(a==0&&b==0) break;
  31. // for(i=1;i<=b;i++)
  32. // {
  33. // ans=ans*a%1000;
  34. // }
  35. // cout<<ans<<endl;
  36. // }
  37. // return 0;
  38. //}

全部评论

相关推荐

头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗?&nbsp;刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务