题目要求
编程求一个整数任意次方后的最后三位数,即求x^y的最后三位数,x和y的值由键盘输入。
程序实现
#include <bits/stdc++.h>
using namespace std;
int main(){
int i,x,y,z=1;
cout << "请输入两个数,x和y(x^y):\n" << endl;
cin >> x >> y;
for(i=1;i<=y;i++) z=z*x%1000;
cout << x << '^' << y << "的最后三位是:" << setw(3) << setfill('0') << z;
}
知识点
题中要求一个数的任意次方,首先要考虑计算结果是否越界,如何避免产生越界问题同时又不使结果产生误差,这里在求次方时每乘一次都取其后三位,这样就不会出现越界问题,又可完成题目要求。