快速幂求4的n次幂和,结果对1e9+7取余。
题目来源
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
//可类比2进制转10进制计算方法理解。
long long int qpow(long long x,long long y)//快速幂求x的y次方
{
long long int res=1;
while(y)
{
if(y & 1) res=(res*x) % mod;
y>>=1;
x=(x*x) % mod;
}
return res;
}
int main()
{
long long a,b,ans=0;
cin>>a>>b;
for(long long int i=a;i<=b;i++)
{
ans+=qpow(4,i);
ans=ans % mod;
}
cout<<ans<<endl;
return 0;
}