很显然是快速幂,数据太小了,int就足够。
1 #include <iostream> 2 using namespace std; 3 4 int pow_mod( int a, int n, int m ) 5 { 6 int ans = 1; 7 a = a % m; 8 while ( n ) 9 { 10 if ( n & 1 ) 11 { 12 ans = ans * a % m; 13 } 14 a = a * a % m; 15 n = n >> 1; 16 } 17 return ans; 18 } 19 20 int main () 21 { 22 int a, b; 23 while ( cin >> a >> b, a + b ) 24 { 25 cout << pow_mod( a, b, 1000 ) << endl; 26 } 27 return 0; 28 }
时间: 2024-12-27 23:50:54