#include <set>
#include <queue>
#include<algorithm>
#include <iostream>
#include<string.h>
#include<map>
#include<stack>
#include<string>
#include <stdio.h>
using namespace std;
int right(long long int a ){
long long int b=a;
a=a%10;
int sum=1;
while(b){
if(b%2==1)
sum=(sum*a)%10;
b=b/2;
a=a*a%10;
}
return sum;
}
int main()
{
int num;
long long int a ;
cin>>num;
while(num--){
cin>>a;
cout<<right(a)<<endl;
}
return 0;
}
a^b%c的代码模版
int PowerMod(int a, int b, int c)
{
int ans = 1;
a = a % c;
while(b>0)
{
if(b % 2 = = 1)
ans = (ans * a) % c;
b = b/2;
a = (a * a) % c;
}
return ans;
}
自己投机取巧的AC代码
#include <set>
#include <queue>
#include<algorithm>
#include <iostream>
#include<string.h>
#include<map>
#include<stack>
#include<string>
#include <stdio.h>
using namespace std;
int main()
{
long long int a;
int n;
cin>>n;
while(n--) {
cin>>a;
int b=a%10;
int sum=1;
if(b==1||b==5||b==6){
cout<<b<<endl;
continue;
}
else if(a%4==0)
a=4;
else
a=a%4;
while(a--){
sum*=b;
}
sum=sum%10;
cout<<sum<<endl;
}
return 0;
}