标签:
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 360 Accepted Submission(s): 134
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #define ll __int64 5 using namespace std; 6 int t; 7 ll q,p; 8 ll ans1,ans2; 9 ll re; 10 ll kuai(ll q,ll num,ll mod){ 11 ll ans=0; 12 ll base=q; 13 while(num){ 14 if(num%2) ans=(ans+base)%mod; 15 num/=2; 16 base=(base+base)%mod; 17 } 18 return ans%mod; 19 } 20 int main() 21 { 22 while(scanf("%d",&t)!=EOF) 23 { 24 for(int i=1;i<=t;i++) 25 { 26 scanf("%I64d %I64d",&q,&p); 27 if(q%2==0) 28 { 29 ans1=(q-2)/2; 30 ans1=ans1%p; 31 ans2=q-1; 32 } 33 else 34 { 35 ans1=(q-1)/2; 36 ans1=ans1%p; 37 ans2=q-2; 38 } 39 printf("%I64d\n",kuai(ans1,ans2,p)); 40 } 41 } 42 return 0; 43 }
标签:
原文地址:http://www.cnblogs.com/hsd-/p/5399830.html