打表可以找出规律就是求n^k。
1 #include <iostream> 2 #include <stdio.h> 3 #define ll long long 4 using namespace std; 5 const int mod = 1e9+7; 6 ll get(ll n, ll k) { 7 if(k == 1)return n%mod; 8 if(k&1) { 9 return n*get((n*n)%mod,k/2)%mod; 10 }else return get((n*n)%mod,k/2)%mod; 11 } 12 int main() { 13 ll n, k, cnt = 1; 14 while(cin>>n>>k) { 15 printf("Case #%lld: %lld ",cnt++, get(n%mod,k)%mod); 16 } 17 return 0; 18 }