HDU-1097 A hard puzzle

1097 A hard puzzle

HDU-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");

}

上一篇:[CF]1526C2 Potions (Hard Version) 优先队列、贪心


下一篇:CF1534F2 Falling Sand (Hard Version)