1097 A hard puzzle
题目大意:给出a与b两个数,求出a的b次方的最后一位数。做题思想:利用幂等,a^b的最后一位数会循环出现,而且周期不会超过4,因为就算是2,它的4次方也大于10了。思路:暴力求解:循环b-1次,每一次循环乘上a,再%10这样提交会超时利用周期不超过4#include
include
include
include
using namespace std;
int main(){
int a,b;
while(cin>>a>>b){
int c=0;
if(a==0&&b!=0){
c=0;
}
else if(a==1||b==0){
c=1;
}
else{
a=a%10;
int d[4];
for(int i=0;i<4;i++){
d[i]=(int)pow(a,i+1)%10;
}
c=d[b%4==0?3:b%4-1];
}
cout<<c<<endl;
}
system("pause");
}