3的幂的和-----51Nod//快速幂

求:3^0 + 3^1 +...+ 3^(N) mod 1000000007
Input
输入一个数N(0 <= N <= 10^9)
Output
输出:计算结果
Input示例
3
Output示例

40

#include
#include
#include
#include
#include
using namespace std;

long long quickmod(long long a,long long b,long long m)
{
	long long ans=1;
	while(b)
	{
		if(b&1)
		{
			ans=(ans*a)%m;
		}
		b/=2;
		a=a*a%m;
	}
	return ans;
}

int main()
{
	int N;
	long long sum;
    while(cin>>N)
	{
		sum=(quickmod(3,N+1,1000000007)-1)*500000004%1000000007;//注意这里的5000000004,2对1000000007的逆元为500000004
		//sum=sum%1000000007;
		cout<


你可能感兴趣的:(快速幂)