欧几里得算法(辗转相除法 )以及扩展欧几里得算法
2017-09-02 14:23
363 查看
简单模板:
//简单gcd,求a,b最大公约数ll gcd(ll a,ll b)
{
if(b==0)
return a;
return gcd(b,a%b);
}
//扩展欧几里得算法
//可求解ax+by=c方程组的一组解,前提是c%gcd(a,b)==0
void ex_gcd(ll a,ll b,ll &d,ll &x,ll &y) //d为在最后算出来为gcd(a,b),可不需传值
{
if(b==0)
{
d=a;
x=1;
y=0;
}
else
{
ex_gcd(b,a%b,d,y,x);
y-=x*(a/b);
}
}
还有个知识点:
相关文章推荐
- 欧几里得算法及其扩展以及运用
- 欧几里得算法以及扩展算法
- CentOS中yum源的扩展以及本地备份
- 实例展示elasticsearch集群生态,分片以及水平扩展.
- [Centos6.5]MongoDB安装以及php_mongo扩展的安装
- JS进阶篇--IE浏览器的ActiveXObject对象以及FileSystemobject的应用扩展(完成)
- MAC下为PHP接入MEMCACHE以及MEMCACHED扩展
- Ubuntu安装redis并配置远程、密码以及开启php扩展
- jquery扩展以及jquery ui插件开发
- SDL以及扩展库的交叉编译过程简介
- MySqli扩展库的对象对象属性特点以及与mysql库面向过程的比较
- 扩展欧几里得算法
- 算法学习(1)----扩展欧几里得算法
- day25之布隆过滤器的实现和优缺点以及扩展
- spring提供的可扩展的接口以及类
- memcached服务及其相关库以及php的memcached扩展的安装总结
- ios学习--第三方框架-MBProgressHUD以及扩展
- Redis以及Redis的php扩展安装无错版
- [ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类<Object>的扩展
- 辗转相除法(拓展欧几里得算法)