辗转相除 求最大公约数!or 最小公倍数
求最大公约数和最小公倍数的经典算法--辗转相除法描述如下:
若要求a,b两数的最大公约数和最小公倍数,令a为a、b中较大数,b为较小数,算法进一步流程:
while(b不为0)
{
temp=a%b;
a=b;
b=temp
}
最后a即为两数的最大公约数,最大公倍数为: a*b/最大公约数
c语言代码:
01.int divisor (int a,int b) /*自定义函数求两数的最大公约数*/
02.{
03. int temp; /*定义整型变量*/
04. if(a<b) /*通过比较求出两个数中的最大值和最小值*/
05. {
06. temp=a;
07. a=b;
08. b=temp;
09. } /*设置中间变量进行两数交换*/
10. while(b!=0) /*通过循环求两数的余数,直到余数为0*/
11. {
12. temp=a%b;
13. a=b; /*变量数值交换*/
14. b=temp;
15. }
16. return a; /*返回最大公约数到调用函数处*/
17.}
18.
19.
20.int multiple (int a,int b) /*自定义函数求两数的最小公倍数*/
21.{
22. int temp;
23. temp=divisor(a,b); /*调用自定义函数,求出最大公约数*/
24. return (a*b/temp); /*返回最小公倍数到主调函数处进行输出*/
25.}
戳这里
辗转相除 求最大公约数!or 最小公倍数的更多相关文章
- Hrbustoj 2266 Legendary Weights(辗转相除求最大公约数)
题意:这个题目的意思是给出一些砝码,问我们能不能根据这些砝码称量出任意重量的物品,最大公约数并不难求,难的在于如何建立这个模型. 思路:根据数论的基础知识,两个数a,b的最大公约数是a*x + b*y ...
- c语言求最大公约数和最小公倍数
求最大公约数和最小公倍数 假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因 ...
- JAVA 基础编程练习题6 【程序 6 求最大公约数及最小公倍数】
6 [程序 6 求最大公约数及最小公倍数] 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数. 程序分析:利用辗除法. package cskaoyan; public class csk ...
- c语言求最大公约数和最小公倍数(转)
最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实基础,另外就是希望能够帮到和我一样的初学者 ...
- Java求最大公约数和最小公倍数
最大公约数(Greatest Common Divisor(GCD)) 基本概念 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为(a,b),同样的 ...
- 辗转相除法求最大公约数和最小公倍数【gcd】
要求最小公倍数可先求出最大公约数 设要求两个数a,b的最大公约数 伪代码: int yushu,a,b: while(b不等于0) { yushu=a对b求余 b的值赋给a yushu的值赋给b } ...
- Java50道经典习题-程序6 求最大公约数及最小公倍数
题目:输入两个正整数m和n,求其最大公约数和最小公倍数.分析:用辗转相除法求最大公约数 两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值 ...
- Problem06 求最大公约数及最小公倍数
题目:输入两个正整数m和n,求其最大公约数(m,n)和最小公倍数[m,n]. 程序分析:利用辗转相除法. 利用辗除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数, 再用出现的余数(第二余数 ...
- 求最大公约数和最小公倍数_python
"""写两个函数,分别求两个整数的最大公约数和最小公倍数,调用这两个函数,并输出结果.两个整数由键盘输入.""" ''' 设两个整数u和v, ...
随机推荐
- 团队开发day06
实现功能,通过连接,获取到品牌商存入数据库的数据, 将数据返回到list集合,展示在安卓前端 出现问题:servlet响应请求返回数据格式出错,利用gson类将java类 转化为jsonobject对 ...
- ES6 箭头函数及this
ES6 箭头函数及this 1.箭头函数 <script type="text/javascript"> //以前定义函数 let fun=function () { ...
- python + pytest 基本使用方法(Fixture)
#firtures通常用来对测试方法.测试函数.测试类和整个测试文件进行初始化或还原测试环境# setup_module/teardown_module:在当前文件中,在所有测试用例执行之前与之后执行 ...
- Jupyter notebook总是卡在int[*]怎么解决?
Jupyter notebook总是卡在int[*]怎么解决? 先看看后台的日志是怎么回事 运行Jupyter notebook会有一个命令行在运行,可以看看出现在error附近的的句子的意思再具体搜 ...
- Select、Poll、Epoll IO复用技术
简介 目前多进程方式实现的服务器端,一次创建多个工作子进程来给客户端提供服务, 但是创建进程会耗费大量资源,导致系统资源不足 IO复用技术就是让一个进程同时为多个客户端端提供服务 IO复用技术 之 S ...
- 【论文集合】机器翻译NMT中数据打分和数据选择的经典方法
根据Survey of Data-Selection Methods in Statistical Machine Translation的总结,MT中的数据选择分类图如下: 使用场景 数据使用的场景 ...
- jquery点击空白处事件
$(document).live('click',function(){ $('.emails').hide(); }); 此代码为点击空白处,'emails',标签隐藏.
- Jmeter RMI 反序列化命令执行漏洞(CVE-2018-1297)
下载ysoserial,git git clone https://github.com/frohoff/ysoserial.git cd ysoserialmvn clean package -Ds ...
- C# / vb.net 给PDF 添加可视化和不可见数字签名
本文通过C#程序代码展示如何给PDF文档添加可视化数字签名和不可见数字签名.可视化数字签名,即在PDF文档中的指定页面位置添加签名,包含相关文字信息和签名图片等:不可见数字签名,即添加签名时不在文档中 ...
- 【LeetCode】155. 最小栈
155. 最小栈 知识点:栈:单调 题目描述 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删 ...