01、求一个整数任意次方后的最后三位数
1、题目分析
求出最后结果,起码有两种思路。
第一种,X^Y次方后在除以1000取余。
第二种:每进行一次求方,则求一次余(1000),因为后三位计算就能计算出我们想要的结果。并且另一个好处在于数字不溢出。
第二种:
1 #include <iostream> 2 #include <climits> 3 #include <iomanip> 4 5 using namespace std; 6 7 int main(void) 8 { 9 cout << "输入两个数 x,y,分别代表底数和幂.即X^Y" << endl; 10 int x = 0; 11 int y = 0; 12 int z = 1; 13 14 cin >> x >> y; // 这里其实有溢出的风险 15 16 17 for (int i = 0; i < y; ++i) 18 { 19 z = z * (x%1000) % 1000; 20 } 21 22 cout << setw(3) << setfill('0') << z << endl; 23 24 return 0; 25 }