欧几里得
酷酷的Herio
这个作者很懒,什么都没留下…
展开
-
F.Fraction Construction Problem(exgcd&数论)
F.Fraction Construction Problem(exgcd&数论) 题意:给定正整数a,ba,ba,b,构造出正整数c,d,e,fc,d,e,fc,d,e,f,满足cd−ef=ab,(d,f<b)\dfrac{c}{d}-\dfrac{e}{f}=\dfrac{a}{b},(d,f<b)dc−fe=ba,(d,f<b) 思路:exgcd+exgcd+exgcd+数论。 p1:p 1:p1: a,ba,ba,b不互质时,即gcd(a,b)>1gcd(a原创 2020-07-18 22:29:07 · 438 阅读 · 0 评论 -
扩展欧几里得复习篇。
扩展欧几里得复习篇。 由于多校考了欧几里得,所以这里复习一波扩欧。 这里主要讲解利用扩欧求解二元一次方程的整数解问题。 即:ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)。 根据欧几里得知识可知:gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a\%b)gcd(a,b)=gcd(b,a%b)。 所以有式子: {ax+by=gcd(a,b)bx1+(a%b)y1=gcd(b,a%b)\begin{cases}ax+by=gcd(a,b)\\bx_1+(原创 2020-07-18 18:21:26 · 369 阅读 · 0 评论 -
利用扩展欧几里得求最小非负整数解
用exgcd求ax+by=gcd(a,b)用exgcd求ax+by=gcd(a,b)用exgcd求ax+by=gcd(a,b)的最小非负整数解 #include<bits/stdc++.h> using namespace std; int exgcd(int a,int b,int &x,int &y){ //返回值是最大公约数. if(b==0){ x=1,y=0; return a; } int ans=exgcd(b,a%b,x,y); //b和a%b的最原创 2020-05-12 10:33:46 · 752 阅读 · 1 评论