二分快速幂依据的就是a的n(偶)次方等于a的n/2次方乘以a的n/2次方
若n为奇数则a乘a的n-1次方(变成偶)再重复以上步骤。
附代码:
#include <iostream>
using namespace std;
#define ll long long
ll erfen(int a,int b){
if(b==0) return 1;
if(b%2==1) return a*erfen(a,b-1)%10;
if(b%2==0){
ll temp=erfen(a,b/2)%10;
return temp*temp%10;
}
}
int main(){
ll t; cin>>t;
for(int i=0;i<t;i++){
ll a; cin>>a;
ll b=erfen(a,a);
cout<<b<<endl;
}
}