http://acm.hdu.edu.cn/showproblem.php?pid=1097
一道找规律的数学题,a^b的最后一位数,其实这个数是有规律的,在1到9中,最长的周期是4,就是说,4^1=4,4^2=6,4^3=4,4^4=6,结构都是写最后以为而已,4的周期是3,最长的是4,所以就以4为周期来求就可以了,注意要用long的类型,不然数据就爆了
#include<iostream> using namespace std; //改写高效求幂的算法来求余数 long exp_mod(long a,long n) { long t; if(n==0) return 1; if(n==1) return a%10; t=exp_mod(a,n/2); t=t*t%10; if((n%2)!=0) t=t*a%10; return t; } int main() { long a,b; while(cin>>a>>b) { cout<<exp_mod(a,b)<<endl; } return 0; }