51nod 1013 3的幂的和【快速幂+逆元】【学会了手求逆元诶~】
2016-12-05 19:32
302 查看
1013 3的幂的和
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题
求:3^0 + 3^1 +...+ 3^(N) mod 1000000007
Input
Output
Input示例
Output示例
思路:
1、定义x,使得A*x==1(mod y)其中A是最小满足这个式子的数,其A就是x对y的逆元。
如果有:
A/BmodC==x(x为所求),那么我们就可以寻找B对C的逆元,使得除法变成乘法;若此时设定D为B的逆元:
(A/B)*(B*D)modC==x;----------------->A*D%C即为所求。
2、这个题很明显是一个等比数列求Sn,那么对应套上公式即可。
3、因为只学了个概念,所以我只会手求1e9+7的逆元,不会套入算法,代码就凑合着看吧- -
Ac代码:
#include<stdio.h>
#include<string.h>
using namespace std;
#define mod 1000000007
#define ll __int64
ll poww(ll a,ll b)
{
ll tmp=a%mod;
ll ans=1;
int n=b;
while(n)
{
if(n%2==1)
{
ans=(ans*tmp)%mod;
n-=1;
}
else
{
tmp=(tmp*tmp)%mod;
n/=2;
}
}
return ans;
}
int main()
{
ll n;
while(~scanf("%I64d",&n))
{
if(n==0)printf("1\n");
else
{
n++;
ll output=(((poww(3,n)-1)*500000004)%mod+mod)%mod;
printf("%I64d\n",output);
}
}
}
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题
求:3^0 + 3^1 +...+ 3^(N) mod 1000000007
Input
输入一个数N(0 <= N <= 10^9)
Output
输出:计算结果
Input示例
3
Output示例
40
思路:
1、定义x,使得A*x==1(mod y)其中A是最小满足这个式子的数,其A就是x对y的逆元。
如果有:
A/BmodC==x(x为所求),那么我们就可以寻找B对C的逆元,使得除法变成乘法;若此时设定D为B的逆元:
(A/B)*(B*D)modC==x;----------------->A*D%C即为所求。
2、这个题很明显是一个等比数列求Sn,那么对应套上公式即可。
3、因为只学了个概念,所以我只会手求1e9+7的逆元,不会套入算法,代码就凑合着看吧- -
Ac代码:
#include<stdio.h>
#include<string.h>
using namespace std;
#define mod 1000000007
#define ll __int64
ll poww(ll a,ll b)
{
ll tmp=a%mod;
ll ans=1;
int n=b;
while(n)
{
if(n%2==1)
{
ans=(ans*tmp)%mod;
n-=1;
}
else
{
tmp=(tmp*tmp)%mod;
n/=2;
}
}
return ans;
}
int main()
{
ll n;
while(~scanf("%I64d",&n))
{
if(n==0)printf("1\n");
else
{
n++;
ll output=(((poww(3,n)-1)*500000004)%mod+mod)%mod;
printf("%I64d\n",output);
}
}
}
相关文章推荐
- 51nod 1013 3的幂的和(快速幂+逆元)
- 51nod 1013【快速幂+逆元】
- 51nod 1013 3的幂的和 -逆元加快速幂
- 51nod 1013 3的幂的和(等比数列求和_快速幂+逆元)
- 51Nod 1013 3的幂的和(快速幂+逆元)
- 51nod 1013 3的幂的和(逆元 or 矩阵快速幂)
- 快速幂取模模板 && 51nod 1013 3的幂的和
- 51nod oj 1256 1119 1013 1083 1014 1081<组合数+逆元+快速幂,DP,枚举,树状数组>
- 51Nod 1013 3的幂的和 快速幂 | 乘法逆元 | 递归求和公式
- [51nod] 1013 3的幂的和 [逆元][水题]
- 51Nod 1013 3的幂的和 (快速幂取模+逆元)
- 【51Nod】1013 - 3的幂的和(等比数列 & 逆元)
- 3的幂的和 51Nod - 1013(快速幂+等比数列求和+逆元)
- 关于逆元的概念、用途和可行性的思考(附51nod 1013 和 51nod 1256)
- 51nod 1013 3的幂的和(快速幂+乘法逆元)
- 51nod 1013:3的幂的和 快速幂
- 51nod 1013 3的幂的和 快速幂+乘法逆元
- 51nod 1013:3的幂的和 快速幂
- 51 Nod 1013 3的幂的和 矩阵链乘法||逆元+快速幂
- 51nod 1013快速幂 + 费马小定理