首页 > 代码库 > POJ 1995
POJ 1995
简单的快速幂取模题
但要注意由于a可能很大,相乘会超范围,所以乘前要先模
#include <iostream>#include <cstdio>using namespace std;int quick(int a,int b,int m){ int ans=1; a%=m; while(b){ if(b&1){ ans=(ans*a)%m; b--; } a=(a*a)%m; b/=2; } return ans;}int main(){ int t; scanf("%d",&t); int m,n; int ans,a,b; while(t--){ ans=0; scanf("%d",&m); scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d%d",&a,&b); ans=(ans+quick(a,b,m))%m; } printf("%d\n",ans%m); } return 0;}
POJ 1995
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。