#include<bits/stdc++.h> using namespace std; //推荐写第一种 第二种是递归写法 int quickpower(int a,int b,int n) { int ret=1; while(b) { if(b%2==1) ret=ret*a%n; a=a*a%n; b=b/2; } return ret; } int quickpower2(int a,int b,int n) { if(b==1)return a; if(b%2==0){ int t=quickpower2(a,b/2,n); return t*t%n; }else{ int t=quickpower2(a,b/2,n); return (t*t%n)*a%n; return t; } } int main() { cout<<quickpower(3,5,10)<<endl; cout<<quickpower2(3,5,10); return 0; }
浙公网安备 33010602011771号