- 题目描述:
求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”
- 思路:
由于a的b次方为指数变化,很容易导致数据溢出。由于本题只需对a的后三位进行处理。
- 细节:
如果直接对后三位进行b次方的处理也会导致数据溢出,这里采取的解决策略是,对每次运算结果只取后三位,最后还有对特殊情况0次方的处理。
- 源代码:
#include <iostream> using namespace std; int main() { long long int m,n,sum; while(cin>>m>>n) { if(m==0&&n==0) break; if(n==0) { cout<<1<<endl; continue; } sum=1; while(n--) { sum=sum*m; sum=sum%1000; } cout<<sum<<endl; } return 0; }