GCD 代码以及GCD思想
2024-10-21 10:13:32
欧几里得算法
现在,我们来学习一下欧几里得算法。
- 欧几里得算法又称辗转相除法,主要用于算求两个正数之间的最大公约数。对于最大公约数这个名称,其英文名称为(Greatest Common Divisor),故下面就用 gcd 来表示最大公约数的代称。
- 百度百科上定义:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
附上代码:
ll gcd(ll a, ll b)
{
if (!b)
return a;
else
return gcd(b, a % b);
}
//递归版本
ll gcd(ll a, ll b)
{
ll t;
while(b)
{
t=b;
b=a%b;
a=t;
}
return a;
}
//迭代版本
最新文章
- Delphi 各版本新特性功能网址收集
- Struts2,Spring, Hibernate三大框架SSH的整合步骤
- 【转载】IIS7.5(经典模式)访问静态资源(.css和.js文件)提示:未能执行 URL
- Flume 远程写HDFS
- hibernate(二)一级缓存和三种状态解析
- Android 编程下设置 Activity 切换动画
- EasyUI学习笔记
- Measuring Signal Similarities
- 解决IE 下div与img重叠无法触发鼠标事件的问题
- 【Java入门提高篇】Day6 Java内部类——成员内部类
- 数组的toString方法
- Centos 部署.net Core
- mysql 数据库基础命令
- python生成组织架构图(网络拓扑图、graph.editor拓扑图编辑器)
- P1005 矩阵取数游戏
- 百度Web Uploader组件实现文件上传之分片上传(一)
- jieba分词学习
- Redis记录-JAVA连接Redis
- Mysql5.6 make 错误以及解决办法
- javaweb jdbc实现简单的数据库基本操作和servlet的作用域以及jsp标签的使用