2035人见人爱A^B : http://acm.hdu.edu.cn/showproblem.php?pid=2035
思路:这题就是求A的B次方,利用循环B次循环可以实现。
注意:A和B 的范围为1~10000,但是循环到某个范围容易让数据溢出,题目又要求"请输出A^B的最后三位表示的整数"。既然这样,可以把A对1000求余,然后循环一次之后,总数再对1000求余,取后面三位小数,就不会出现数据溢出的情况,题目就很容易解决了。前几周稍微学了一点C++ 的,所以把这道题目放到现在才来做。
代码如下:
#include <iostream>
using namespace std;
int main()
{
int m,n,a,i;
while(cin>>m>>n)
{
if(m==0&&n==0) break;
if((m>=1&&m<=10000)&&(n>=1&&n<=10000))
{
a=1;
for(i=1;i<=n;i++)
{
a=a*(m%1000)%1000;
}
cout << a << endl;
}
}
return 0;
}