题意是怎么理解的我也不知道,就抄了一下
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <cstdlib> using namespace std; typedef long long ll; const ll mod = 1e9 + 7; ll quick_mod(ll a, ll b) { ll ans = 1; while(b) { if(b&1) ans = (ans * a) % mod; b >>= 1; a = (a * a) % mod; } return ans; } int main() { ll n; scanf("%lld", &n); ll A = quick_mod(27, n); ll B = quick_mod(7, n); printf("%lld\n", ((A % mod - B % mod) + mod) % mod); return 0; }
codeforces 584b 超大型指数乘法取模o(logn)
原文:http://www.cnblogs.com/shimu/p/5659801.html