思路:迭代相乘,每次相乘后结果取1000的余数,作为下次的一个乘数。
贴代码:
Code
1 #include <iostream>
2
3 using namespace std;
4
5 int g(int a,int b)
6
7 {
8
9 int temp;
10
11 temp = a%1000;
12
13 if(temp==0)
14
15 {
16
17 return 0;//1000大于等于1次方最后三位数一定为0
18
19 }
20
21 else
22
23 {
24
25 for(int i=1;i<b;i++)
26
27 {
28
29 temp*=a;
30
31 temp%=1000;
32
33 }
34
35 return temp;
36
37 }
38
39 }
40
41 int main()
42
43 {
44
45 int a,b;
46
47 while(cin>>a>>b&&!(a==0&&b==0))
48
49 {
50
51 cout<<g(a,b)<<endl;
52
53 }
54
55
56
57
58 return 0;
59
60 }
61