poj 1995 Raising Modulo Numbers 快速模幂
#include<iostream> using namespace std; int quick_mod(int a,int b,int m) { a=a%m; int ans=1; while(b) { if(b&1) { ans=(ans*a)%m; } b>>=1; a=(a*a)%m; } return ans; } int main() { int size; cin>>size; int m; int h; int a,b; while(cin>>m) { cin>>h; int ans=0; for(int i=0;i<h;i++) { cin>>a>>b; ans=(ans+quick_mod(a,b,m))%m; } cout<<ans<<endl; } }
题目地址:http://poj.org/problem?id=1995
直接使用快速模幂 模板题