思路:乘积的最后三位的值只与乘数和被乘数的后三位有关,与乘数和被乘数的高位无关。利用这一规律,可以大大简化程序。
//求x的y次方的最后三位尾数
#include <iostream>
using namespace std;
int main()
{
int x,y,last_three=1;
cin>>x>>y;
for (int i=0;i<y;i++)
last_three=last_three*x%1000;
cout<<last_three<<endl;
return 0;
}