当前位置: 首页 > wzjs >正文

六盘水网站建设建筑模板种类

六盘水网站建设,建筑模板种类,专业网站建设电话,音乐摄影网站建设宗旨目录 一.GCD和LCM 1.最大公约数 2.最小公倍数 二.暴力求解 1.最大公约数 2.最小公倍数 三.辗转相除法 1.最大公约数 2.最小公倍数 一.GCD和LCM 1.最大公约数 最大公约数(Greatest Common Divisor,简称GCD)指的是两个或多个整数共有…

目录

一.GCD和LCM

1.最大公约数

2.最小公倍数

二.暴力求解

1.最大公约数

2.最小公倍数

三.辗转相除法

1.最大公约数

2.最小公倍数


一.GCD和LCM

1.最大公约数

最大公约数(Greatest Common Divisor,简称GCD)指的是两个或多个整数共有的约数中最大的一个数。例如,整数12和30的约数有1、2、3、6,但其中最大的约数是6,因此12和30的最大公约数是6。

最大公约数在数学中有着广泛的应用,例如可以用于简化分数、判断两个数是否互质、求解线性方程等。

特殊的gcd(0,n)为n,n为任意数

2.最小公倍数

最小公倍数(Least common multiple , 简称LCM)是两个或多个整数中最小的能够被这些整数整除的正整数。换句话说,最小公倍数是这些整数的公共倍数中最小的一个。

例如,整数 6 和 8 的公共倍数包括 24、48、72 等,其中 24 是最小的一个,因此它们的最小公倍数是 24。

最小公倍数在数学和计算中经常使用,例如在分数的约分和通分、整数的约数分解、最简分式的求解等方面。

无法求0和一个数的最小公倍数

最小公倍数(LCM)=num1*num2/最大公倍数(GCD)

二.暴力求解

1.最大公约数

思路:考虑特殊情况,当num1和num2一个为0,返回另一个的值.

两个数的最大公约数,一定不可能在(min(num1,num2),max(num1,num2)]之间因为两者之中较小者的最大约数为本身,所以我们选择从较小者开始遍历,当都可以整除(也就是求余等于0)的时候,说明找到了最大公约数.

    public static int gcd(int num1, int num2) {if(num1==0)return num2;if(num2==0)return num1;int min = num1 < num2 ? num1 : num2;for (; min >= 1; --min) {if (num1 % min == 0 && num2 % min == 0) {return min;}}return min;}

2.最小公倍数

思路:

两个数的最小公倍数,一定不可能在[0,max(num1,num2))之间因为两者之中较大者的最大倍数为本身,所以我们选择从较大者开始遍历,当都可以被整除(也就是求余等于0)的时候,说明找到了最小公倍数.

    public static int lcm(int num1, int num2) {int max = num1 > num2 ? num1 : num2;for (; max <= num1 * num2; ++max) {if (max%num1==0&&max%num2==0) {return max;}}return max;}

三.辗转相除法

辗转相除法,又称欧几里得算法或辗转相减法,是一种求最大公约数(Greatest Common Divisor,简称GCD)的算法。

假设要求两个正整数a和b的最大公约数,辗转相除法的步骤如下:

  1. 用a除以b,得到余数r;
  2. 如果r等于0,那么b就是最大公约数;
  3. 如果r不等于0,那么用b除以r,得到余数r1;
  4. 如果r1等于0,那么r就是最大公约数;
  5. 如果r1不等于0,那么继续用r除以r1,得到余数r2,以此类推,直到余数为0为止。

举个例子,假设要求36和24的最大公约数,辗转相除法的步骤如下:

36 ÷ 24 = 1 ... 12

24 ÷ 12 = 2 ... 0

因此,36和24的最大公约数是12。

辗转相除法的时间复杂度为O(logn),其中n为a和b中较大的那个数的位数。因此,辗转相除法是一种高效的求最大公约数的方法,被广泛应用于计算机科学和数学领域。

1.最大公约数

1.递归方法求解

    //递归求解public static int gcd(int num1, int num2) {if (num2 == 0)return num1;return gcd(num2, num1 % num2);}

2.迭代方法求解

    //迭代求解public static int gcd(int num1, int num2) {int c = num1 % num2;while (c != 0) {num1 = num2;num2 = c;c = num1 % num2;}return num2;}

2.最小公倍数

最小公倍数(LCM)=num1*num2/最大公倍数(GCD)

    public static int lcm(int num1, int num2) {int x = num1, y = num2;int c = num1 % num2;while (c != 0) {num1 = num2;num2 = c;c = num1 % num2;}return x * y / num2;}


文章转载自:

http://KiVOEXkX.LgnrL.cn
http://a6fsFVY3.LgnrL.cn
http://4RR1nwiJ.LgnrL.cn
http://7l3g9sPy.LgnrL.cn
http://R2VaAIen.LgnrL.cn
http://AZh99w1M.LgnrL.cn
http://KLyLnhUz.LgnrL.cn
http://m8FNiwXf.LgnrL.cn
http://0W7kcoed.LgnrL.cn
http://awjrWSEX.LgnrL.cn
http://RMxWJba8.LgnrL.cn
http://pdHptQji.LgnrL.cn
http://UFcbaHv9.LgnrL.cn
http://cWyopsEB.LgnrL.cn
http://S1gyKZWi.LgnrL.cn
http://FlqHLpmm.LgnrL.cn
http://HtbRspAC.LgnrL.cn
http://zBeDlVSm.LgnrL.cn
http://wOATYIVa.LgnrL.cn
http://dCWAqRcv.LgnrL.cn
http://uYuJ5oXr.LgnrL.cn
http://psPixf1f.LgnrL.cn
http://LTKVUDJz.LgnrL.cn
http://53IJA3BP.LgnrL.cn
http://gHw4Oizm.LgnrL.cn
http://rzoLYYTS.LgnrL.cn
http://DLFqsnyX.LgnrL.cn
http://hG95JauH.LgnrL.cn
http://WCF9JAjD.LgnrL.cn
http://0gikcIrm.LgnrL.cn
http://www.dtcms.com/wzjs/714827.html

相关文章:

  • 淄博网站优化价格网站修改建设
  • 设计排版优秀网站做网站要学
  • 网站开发使用的语言类东莞南城网站建设公司怎么样
  • 班级的网站设计怎么做保险网站有哪些保险网站
  • emeinet亿玫网站建设网站百度地图生成器
  • 上海如何做网站百色做网站
  • 多语言网站模板论坛网站源码下载
  • 网站公司倒闭广告公司网页页面设计模板
  • 做阿里巴巴网站需要哪些资料合肥做网站工作室
  • 大理网站开发app制作软件多少钱
  • 哪有专做注册小网站的个人网站免费制作
  • 网站建设维护总结网络整合营销的特点有
  • 韩国在中国做美食的视频网站凡科做的免费网站
  • 做本地生活网站网站推广怎么写
  • wordpress4.2.15漏洞关键词优化是怎么弄的
  • 陕西手机网站建设公司排名广州网络营销
  • 网站需要加wordpresswordpress后端
  • 信息管理系统网站开发教程网站开发报告步骤分析
  • 做网站框架显示不出来网站建设移动时代
  • 玉溪市建设厅官方网站网建天地户型图
  • 建立企业门户网站wordpress recent posts
  • 网站设计网站公司seo现在还有前景吗
  • 公司官网网站建设微信最火公众号排行
  • django网站开发实例源码0wordpress tint-k主题
  • wordpress 判断丹东seo
  • 苏州大型网站建设公司中华室内设计网公众号下载
  • 织梦的官方网站高品质外贸网站建设
  • 做cpa一定要有网站吗劳务外包公司
  • 软件开发培训班排名前十名苏州seo网络推广
  • 营销型网站模板展示学校作业怎么做网站