51nod 1013 3的幂的和 -逆元加快速幂
2017-12-07 08:26
274 查看
题目链接:1013
等比数列求和公式得出即求(3^n-1)/2%1000000007。
这里要算逆元:根据公式(a/b)%c=m m=(a%bc)/b
3^n使用快速幂。
代码:
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
n++;
long long ans=1,base=3;
while(n!=0){ //快速幂
if(n&1==1)ans=(ans*base)%(2*1000000007);
base*=base;
base%=(2*1000000007);
n>>=1;
}
ans=(ans-1)/2;
cout<<ans;
}
等比数列求和公式得出即求(3^n-1)/2%1000000007。
这里要算逆元:根据公式(a/b)%c=m m=(a%bc)/b
3^n使用快速幂。
代码:
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
n++;
long long ans=1,base=3;
while(n!=0){ //快速幂
if(n&1==1)ans=(ans*base)%(2*1000000007);
base*=base;
base%=(2*1000000007);
n>>=1;
}
ans=(ans-1)/2;
cout<<ans;
}
相关文章推荐
- 51nod 1013 3的幂的和(等比数列求和_快速幂+逆元)
- 51nod 1013 3的幂的和(快速幂+逆元)
- 51nod 1013 3的幂的和【快速幂+逆元】【学会了手求逆元诶~】
- 51nod 1013【快速幂+逆元】
- 51Nod 1013 3的幂的和(快速幂+逆元)
- 51nod 1013 3的幂的和(逆元 or 矩阵快速幂)
- 51nod 1013快速幂 + 费马小定理
- 51nod 1013 3的幂的和 快速幂+乘法逆元
- 51nod 1013 3的幂数和(快速幂+费马小定理)
- 51Nod 1013 3的幂的和 (快速幂取模+逆元)
- 快速幂取模模板 && 51nod 1013 3的幂的和
- [51nod] 1013 3的幂的和 [逆元][水题]
- 关于逆元的概念、用途和可行性的思考(附51nod 1013 和 51nod 1256)
- 51nod 1013:3的幂的和 快速幂
- 51 Nod 1013 3的幂的和 矩阵链乘法||逆元+快速幂
- 51nod 1013:3的幂的和 快速幂
- 51nod oj 1256 1119 1013 1083 1014 1081<组合数+逆元+快速幂,DP,枚举,树状数组>
- 【51Nod】1013 - 3的幂的和(等比数列 & 逆元)
- 51nod 1013 3的幂的和(快速幂+乘法逆元)
- 3的幂的和 51Nod - 1013(快速幂+等比数列求和+逆元)