扩展欧几里得
2011-04-10 10:58
267 查看
/*==================================================*/ | 求ax+by=z的整数解 | CALL:void ex_gcd(x,y,a,b); | a、b为未知数。有解的前提是xy的最大公约数是z的约数。 /*==================================================*/ __int64 Z; void ex_gcd(__int64 x,__int64 y,__int64 &a,__int64 &b){ __int64 t=x%y; if(!t){ a=0;b=Z/y; }else{ ex_gcd(y,t,a,b);t=a;a=b;b=t-b*(x/y); } } /*==================================================*/ | 把a调整为不小于0的最小值 | CALL:void adjust_gcd(x,y,a,b); /*==================================================*/ int ex_gcd_A(__int64 x,__int64 y){ __int64 a,b; ex_gcd(x,y,a,b); a=(a%y+y)%y; return a; }
相关文章推荐
- 数论 扩展欧几里得用法详解
- 当我真正理解了扩展欧几里得定理
- 51nod 1352 集合计数 (扩展欧几里得)
- POJ1061:青蛙的约会(扩展欧几里得)
- [转]扩展欧几里得
- Romantic(扩展欧几里得求逆元(裸题))
- UVA 10673 扩展欧几里得
- 扩展欧几里得
- poj 2142 The Balance (扩展欧几里得 数学)
- 欧几里得扩展算法
- nyoj-Color the necklace(Ploya定理 + 欧拉函数 + 扩展欧几里得(求逆元))
- POJ2657Comfort(扩展欧几里得基础)
- POJ 2115 C Looooops扩展欧几里得
- poj 2142 The Balance 扩展欧几里得
- poj 1061 青蛙的约会 扩展欧几里得
- [POJ1845&POJ1061]扩展欧几里得应用两例
- 乘法逆元与扩展欧几里得
- HDU 1576 扩展欧几里得
- hdu 1576 A/B(扩展欧几里得)
- 最大整数扩展欧几里得