2019-06-08

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

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;

}


你可能感兴趣的:(2019-06-08)