a*b%m=((a%m)*b)%m
题意:输入n,求n的n次方的最后一位。
#include<stdio.h>
#include<string.h>
#include<iostream>
#define maxn 1010
#define INF 0x3f3f3f3f
__int64 quick(__int64 a,__int64 b,__int64 m)
{
__int64 ans=1;
while(b)
{
if(b&1)
{
ans=(ans*a)%m;
b--;
}
b/=2;
a=a*a%m;
}
return ans;
}
int main()
{
int t;
__int64 a,b,m;
scanf("%d",&t);
while(t--)
{
scanf("%I64d",&a);
b=a;
m=10;
printf("%I64d\n",quick(a,b,m));
}
return 0;
}