C语言求最大公约数和最小公倍数(思路清晰+拓展)[通俗易懂]

C语言求最大公约数和最小公倍数(思路清晰+拓展)[通俗易懂]最大公约数的求法首先了解它的一般求法(欧几里得算法):假设存在两个数A和B,假如A%B的结果不为0,那么A和B的最大公约数是B与A%B的最大公约数,一直往下计算,直到后者为0,此时的最大公约数为A’(注意不是A而是A’)。就比如上边的例子,当A%B==0的时候,最大公约数就是B了,这个A’就代表B。最大公约数的代码:(基于C++实现的函数)intgcd(inta,intb){ in…

大家好,又见面了,我是你们的朋友全栈君。

最大公约数的求法

首先了解它的一般求法(欧几里得算法):假设存在两个数A和B,假如A%B的结果不为0,那么A和B的最大公约数是B与A%B的最大公约数,一直往下计算,直到后者为0,此时的最大公约数为A’(注意不是A而是A’)。就比如上边的例子,当A%B==0的时候,最大公约数就是B了,这个A’就代表B。

最大公约数的代码:(基于C++实现的函数)

int gcd(int a,int b)
{
	int g;
	if(b==0)g=a;
	else g=gcd(b,a%b);
	return g;
}

最小公倍数与最大公约数的关系:

假设存在两个数A和B,那他们的最大公倍数就是A和B的积除以的A和B最大公约数即A*B/gcd(A,B)

有了上边求最大公约数的基础,那么我们就可以很轻松的求出两个数的最小公倍数了!不多说,上代码(基于C++语言实现的函数):

int mingbs(int a,int b)
{
	return a*b/gcd(a,b);//gcd函数在上边
}

最大公约数的性质的拓展:

其实求最大公约数是一件很简单的事情,但是它背后的数学性质也很重要;我在这里浅谈一下我曾经应用到的它的性质。

性质1:假如两个数的最大公约数是1,那么这两个数互质。
性质2:假如两个数互质(性质1),那么这两个数组成的最大的不可能的数是他们的积减去他们的和;反之则没有能够组成的最大不可能数,即不可能组成的数是无穷。

由于我没接触到它的别的性质,等我接触到后再补充。
上述两条性质再蓝桥杯的题目《包子凑数问题》中应用比较经典,因为它与动态规划联系起来运用了,有兴趣的读者可以去尝试解决,这样可以提高自己的编程应用能力。《包子凑数问题》请等待我有时间后,再与读者朋友们分享一下我的解题方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145688.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm Debug调试使用+代码调试理解

    Pycharm Debug调试使用+代码调试理解Pycharm使用教程03pycharm的Debug调试使用+代码调试理解。横着的七个按钮的功能:依次从左到右。ShowExecutionPoint:鼠标光标跳到程序运行到的位置StepOver:单步运行程序,不进入函数。在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。在不存在子函数的情况下是和stepinto效果一样的。简单的说就是,程序代码越过子函数,但子函数会执行,且不进入。StepInto:在单步执行时,遇到子函数

    2025年6月17日
    4
  • arp欺骗攻击原理_arp攻击的原理及防范

    arp欺骗攻击原理_arp攻击的原理及防范ARPSpoofing什么是ARP协议一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网传输的网卡却不能直接识别IP地址,所以用APR解析协议将IP地址解析成MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,来查询设备的MAC地址。在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照表关系。ARP缓存表的生命周

    2022年9月29日
    3
  • 游戏手机平台简单介绍

    游戏手机平台简单介绍由于手机游戏市场的巨大潜力和无限商机,许多厂商纷纷推出功能强大的手机并提供开放应用平台,而相关手机游戏开发商也是相继投入,与手机厂商或运营商者合作,推出各种跨平台的解决方案。从最早的内嵌式游戏到最新的3D游戏基于各种技术和平台的手机游戏也是分类繁多,为了让读者更好了解各个游戏平台的特点和主要功能,我们将通过下文对目前市面上流行的手机游戏平台做一个简单的介绍。嵌入/内置式游戏

    2022年6月9日
    34
  • React多页面跳转[通俗易懂]

    React多页面跳转[通俗易懂]render(){const{app:{locationQuery}}=this.props;////////////tolist.jsconst{子页面数据}=this.state;const{id}=locationQuery;///获取当前页面地址栏的idconstinfo=queryA…

    2022年5月30日
    35
  • qt 如何设计好布局和漂亮的界面。

    qt 如何设计好布局和漂亮的界面。文章目录前言一.布局相关组件介绍(:sunny:)1.Layouts(布局):large_blue_circle:VerticalLayouts(垂直布局):large_blue_circle:HorizontalLayouts(水平布局):large_blue_circle:GridLayouts(网络布局):large_blue_circle:FormLayouts(窗体布局)2.Spacers(空间间隔器/弹簧)3.UI设计器工具栏:large_blue_circle:分割布局器二.Qt样..

    2022年5月17日
    82
  • 电脑爱好者GHOSTWIN7纯净版V1.0[通俗易懂]

    电脑爱好者GHOSTWIN7纯净版V1.0[通俗易懂]系统特点:全自动无人值守安装,采用万能GHOST技术,安装系统过程只需5-8分钟,适合新旧各种机型。集成常见硬件驱动,智能识别+预解压技术,绝大多数硬件可以快速自动安装相应的驱动。DirectX_9.0cVC++2005|2008|2010|2012|201…

    2022年6月7日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号