题目链接:点击打开链接;
题意:求:3^0 + 3^1 +...+ 3^(N) mod 1000000007;
分析:快速幂,没啥说的
代码如下:
#include <set> #include <queue> #include <math.h> #include <vector> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream> #include <limits.h> #include <algorithm> using namespace std; const int mod=1000000007; long long quick_mod(long long a,long long b){ long long ans=1; while(b){ if(b&1){ ans=ans*a%mod; b--; } b>>=1; a=a*a%mod; } return ans; } int main(){ int n; scanf("%d",&n); n+=1; long long sum=(quick_mod(3,n)-1+mod)%mod; sum=(sum*500000004)%mod; printf("%I64d\n",sum); }