思路:
提示:先判断指数是否为奇数,若为奇数要先提取一次,再幂指数乘剩下的偶数部分。例如要求(13的105次幂)%27,要先判断105是否为奇数,若为奇数就变成((13的104次幂)*13)%27,然后再进行降级分解,分解过程要注意先判断指数部分的奇偶性
#include <iostream>using namespace std;int main(){ int a,b,c; a=13; c=105; b=27; int e=1; int f; while(c>1){ if(c%2==0){ a=(a*a)%b; }else{ c-=1; e=e*a; a=(a*a)%b; } c/=2; } f=e*a%b; cout<<f; return 0;}