using namespace std ;
int mod (int a,int b,int c);
int main () {
int a,b,c ;
while (cin >> a >> b >> c){
if (!a & !b & !c)
break ;
cout << mod (a,b,c) << endl;
}
}
int mod (int a,int b,int c){
int result =1 ;
a %= c ;
while (b ){
if (b % 2){
result = a ;
result %= c ;
b – ;
}
a = (aa) %c ;
b /= 2 ;
}
return result ;
}
#include"bits/stdc++.h"usingnamespacestd;usingu64=uint64_t;template<typenameUInt>UIntipow(UIntconstkBase,UIntconstkExp,UIntconstkMod){UIntret=1;for(UInti=kExp,base=kBase%kMod;i;i>>=1){if(i&1){ret=ret*base%kMod;}base=base*base%kMod;}returnret;}// quick power algorithm for (a^b) % kMod.intmain(){for(u64a,b,c;cin>>a>>b>>c,a;){cout<<ipow(a,b,c)<<'\n';}}
include
快速幂取模
include
using namespace std ;
int mod (int a,int b,int c);
int main () {
int a,b,c ;
while (cin >> a >> b >> c){
if (!a & !b & !c)
break ;
cout << mod (a,b,c) << endl;
}
}
int mod (int a,int b,int c){
int result =1 ;
a %= c ;
while (b ){
if (b % 2){
result = a ;
result %= c ;
b – ;
}
a = (aa) %c ;
b /= 2 ;
}
return result ;
}
这个连快速幂都不用的说?
(机房网真差……
无语,平常自己做不来,考试一考就做得来了
看到这题那么高的通过率我猜想可以暴力,果然如此。
正解是快速幂,也就是这个:
(直接把之前写的模板套了上去)
天啦噜居然又有一千多组数据