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)
上一篇 2022年5月16日 下午8:00
下一篇 2022年5月16日 下午8:20


相关推荐

  • 【14】进大厂必须掌握的面试题-持续监控面试

    Q1。为什么需要连续监控? 我建议您遵循以下流程: 连续监视可以及时发现问题或弱点,并采取快速纠正措施来帮助减少组织的费用。持续监控提供的解决方案可解决以下三个运营准则: 持续审核…

    2020年10月23日
    395
  • Empirical Evaluation of Rectified Activations in Convolutional Network笔记

    Empirical Evaluation of Rectified Activations in Convolutional Network笔记链接 https arxiv org abs 1505 00853 摘要论文研究集中不同的 ReLU 对网络性能的影响 包括 ReLU LeakyReLU 带参数的 LeakyReLU 就是 PReLU 以及参数随机的 RReLU 以往的看法是 ReLU 的良好性能来自参数的稀疏性 但实验结果表明负数部分斜率不为 0 的 ReLU 性能要好一些 在小的数据集上 采用 LeakyReLU 或者 PReLu 都容易造成过

    2025年10月4日
    5
  • java 上传文件接口_Java接口实现文件上传

    java 上传文件接口_Java接口实现文件上传因工作需要,在后台管理页面加入一个上传文件的模块,虽然接口的代码很简单,但实现期间遇到了一些比较有趣的坑,特记录下来。需求实现文件上传,并提供一个可供下载的路径。想法文件上传代码暂且不谈,先说说文件放在服务器什么位置比较合适。我首先想到的是两个地方:tomcat的webapps/ROOT目录下,如果放在这个目录下,数量少了还好,一旦数量多了,必定会影响tomcat本身的运行速度。这个虽然可用但不可…

    2022年5月14日
    45
  • PyQt5开发学习(一)–在Pycharm使用PyQt5

    PyQt5开发学习(一)–在Pycharm使用PyQt5安装PyQt5PyCharm对每个工程,都有独立的系统环境,工程需要的每个库,都可以安装在工程目录下,而不是安装在系统目录下。如果安装太慢,可以更改PIP的源,如下:清华:https://pypi.tuna.tsinghua.edu.cn/simple豆瓣:http://pypi.douban.com/simple/阿里:http://mirrors.aliyun.com/py…

    2022年8月26日
    14
  • placeholder 与variable

    placeholder 与variableplaceholder,译为占位符,官方说法:”TensorFlowprovidesaplaceholderoperationthatmustbefedwithdataonexecution.”即必须在执行时feed值。placeholder实例通常用来为算法的实际输入值作占位符。例如,在MNIST例子中,定义输入和输出:x=tf.placeholder(tf…

    2022年7月15日
    16
  • mysql insert sql

    mysql insert sql

    2022年3月4日
    39

发表回复

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

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