1013 3的幂的和
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题
求:3^0 + 3^1 +…+ 3^(N) mod 1000000007
Input
输入一个数N(0 <= N <= 10^9)
Output
输出:计算结果
Input示例
3
Output示例
40
#include<iostream>
using namespace std;
const int mod=1000000007;
typedef long long ll;
ll m_pow(ll x,ll n)
{
ll res=1;
while(n){
if(n&1)
res=res*x%mod;
x=x*x%mod;
n>>=1;
}
return res;
}
int main()
{
ll n,ans;
cin>>n;
n++;
ans=(m_pow(3,n)-1)*500000004%mod;
cout<<ans<<endl;
return 0;
}