求:3^0 + 3^1 +…+ 3^(N) mod 1000000007
输入
输入一个数N(0 <= N <= 10^9)
输出
输出:计算结果
输入样例
3
输出样例
40
先用等比数列求和公式,ans = (3^(n+1) - 1)/ 2
然后用费马小定理对2求逆元,跑两次快速幂就行了。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=1000000007;
ll n;
ll quickpower(ll a,ll b)
{
ll c=1;
while(b)
{
if(b%2