数论及应用学习__Part1 拓展欧几里得【3/5】
2017-07-22 10:39
204 查看
题目连接:
NEFU 84:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=84
https://cn.vjudge.net/contest/172643#overview
Nefu 84:我是萌萌哒题解
A.求(A/B)%9973
我们求出B的逆元InB;
那么答案就是A*InB%mod
现在给出A%mod的值为n,那么答案就是InB*n%mod;
Ac代码:
B.
C.要求ax+by=1的解x,y。要求x>0
如果要有:ax+by=d有解,那么需要保证ax+by=gcd(a,b)中,gcd(a,b)为d的因子。
这里d==1.那么需要保证gcd(a,b)也是1.
特殊要求x>0.我们已知通解:
X=x+b/d*t
Y=y-a/d*t
这里t为任意常数。
那么暴力枚举t即可。
Ac代码:
D.
NEFU 84:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=84
https://cn.vjudge.net/contest/172643#overview
Nefu 84:我是萌萌哒题解
A.求(A/B)%9973
我们求出B的逆元InB;
那么答案就是A*InB%mod
现在给出A%mod的值为n,那么答案就是InB*n%mod;
Ac代码:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define ll long long int ll x,y; ll ex_gcd(ll a,ll b,ll &x,ll &y) { if(b==0) { x=1; y=0; return a; } ll ans=ex_gcd(b,a%b,x,y); ll tmp=x; x=y; y=tmp-a/b*y; return ans; } ll mod_inverse(ll a,ll m) { ex_gcd(a,m,x,y); return (x%m+m)%m; } int main() { int t; scanf("%d",&t); while(t--) { ll n,B; scanf("%lld%lld",&n,&B); ll InB=mod_inverse(B,9973); ll ans=n*InB%9973; printf("%lld\n",ans%9973); } }
B.
C.要求ax+by=1的解x,y。要求x>0
如果要有:ax+by=d有解,那么需要保证ax+by=gcd(a,b)中,gcd(a,b)为d的因子。
这里d==1.那么需要保证gcd(a,b)也是1.
特殊要求x>0.我们已知通解:
X=x+b/d*t
Y=y-a/d*t
这里t为任意常数。
那么暴力枚举t即可。
Ac代码:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define ll long long int ll x,y; ll ex_gcd(ll a,ll b,ll &x,ll &y) { if(b==0) { x=1; y=0; return a; } ll ans=ex_gcd(b,a%b,x,y); ll tmp=x; x=y; y=tmp-a/b*y; return ans; } int main() { ll a,b; while(~scanf("%lld%lld",&a,&b)) { ll gc=ex_gcd(a,b,x,y); if(1%gc==0) { while(x<=0) { x+=b/1; y-=a/1; } printf("%lld %lld\n",x,y); } else { printf("sorry\n"); } } }
D.
相关文章推荐
- 数论学习之欧几里得的应用
- 数论学习之欧几里得的应用
- 欧拉函数概念与应用拓展 - 数论
- 拓展欧几里得应用
- 【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
- 【学习拓展】C语言 随机数应用:伪随机机制
- BZOJ-2242 计算器 快速幂+拓展欧几里得+BSGS(数论三合一)
- BZOJ-2242 计算器 快速幂+拓展欧几里得+BSGS(数论三合一)
- poj 2773 欧几里得 一个拓展应用
- [机器学习] Coursera笔记 - 机器学习应用的建议-Part1
- 数论 拓展欧几里得定理
- 7C. Line【拓展欧几里得】 数论模板
- 数论继续学习4--扩展欧几里得
- 数论学习之扩展欧几里得
- 数论学习之扩展欧几里得
- 拓展欧几里得模板(转载学习)
- 数论之拓展欧几里得求解不定方程和同余方程组(一)
- 【数论】拓展欧几里得
- 【转载】学习总结:初等数论(3)——原根、指标及其应用
- [zoj 3774]Power of Fibonacci 数论(二次剩余 拓展欧几里得 等比数列求和)