【经典100题】 题目16 求两个数的最大公约数和最小公倍数
题目
求两个数的最大公约数和最小公倍数。
最大公约数:指两个或多个整数共有约数中最大的一个
最小公倍数:指两个或多个整数共有倍数中最小的一个
说明:自己没有搞清楚最大公约数和最小公倍数的定义,结果走了不少弯路,下面的解法是一种比较简单但是效率的不高的解法。可以参考“辗除法”,在后续会学习一下。
C语言实现
#include<stdio.h>void zuidagongyinshu(int x, int y);
void zuixiaogongbeishu(int x, int y);void main()
{int a, b;printf("请输入正整数a:");scanf("%d", &a);printf("请输入正整数b:");scanf("%d", &b);zuidagongyinshu(a, b);zuixiaogongbeishu(a, b);}void zuidagongyinshu(int x, int y)
{//找出最小的数int small;if (x > y)small = y;elsesmall = x;while (small!=0){if (x%small == 0 && y%small == 0){printf("最大公因数是:%d\n", small); break;}small--;}
}void zuixiaogongbeishu(int x, int y)
{//找出最大的数int big;if (x < y)big = y;elsebig = x;while (1){if (big%x == 0 && big%y == 0){printf("最小公倍数是:%d\n", big); break;}big++;}
}
运行结果:
请输入正整数a:270
请输入正整数b:36
最大公因数是:18
最小公倍数是:540
请按任意键继续. . .
python实现
#最大公因数
def zuidagongyinshu(x, y):#找出最小的数if x > y: small = yelse: small = xwhile small !=0:if x%small == 0 and y%small == 0:print("最大公因数%d"%small )breaksmall -=1#最小公倍数
def zuixiaogongbeishu(x,y):#找出最大的数if x > y:big = x else:big = ywhile(1):if big%x == 0 and big%y == 0:print("最小公倍数:%d"%big)breakbig+=1#主程序
a =int(input("请输入正整数a:"))
b =int(input("请输入正整数b:"))
zuidagongyinshu(a, b)
zuixiaogongbeishu(a,b)
运行结果:
请输入正整数a:36
请输入正整数b:270
最大公因数18
最小公倍数:540
★ finished by songpl,2018.12.13
【经典100题】 题目16 求两个数的最大公约数和最小公倍数相关推荐
- 16.求两个数的最大公约数和最小公倍数
#include <stdio.h>//求m,n的最大公约数和最小公倍数 //利用辗除法,又叫做欧几里得算法,是用来求最大公约数的方法 //最大公约数 * 最小公倍数 = a * b in ...
- 求两个数的最小公约数和最小公倍数
题目: 求两个数的最小公约数和最小公倍数 思路: 求最大公约数: 欧几里得在其<几何原本>中提出的欧几里得算法,有称辗转相除法, 具体做法是如果q和r分别是m除以n的商及玉树,m=nq+ ...
- 编写两个函数分别求两个数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个数由键盘输入。 输入输出格式示例: 输入:24 16 输出:zdgys=8,zxgbs=48
编写两个函数分别求两个数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个数由键盘输入. 输入输出格式示例: 输入:24 16 输出:zdgys=8,zxgbs=48 #include ...
- 百度web前端面试题之求两个数的最大公约数和最小公倍数
求两个数的最大公约数和最小公倍数,好像是第三题, 找到如下简洁写法: <1> 用辗转相除法求最大公约数 算法描述: m对n求余传给自己,再次求余, 若余数等于0 则 n 为最大公约数 &l ...
- c语言用迭代法求最大公约数,用迭代法求两个数的最大公约数和最小公倍数
c语言论文 用迭代法求两个数的最大公约数和最小公倍数 化工09110605 摘要:迭代法是一种循环控制语句和循环结构程序的设计方法.在计算机解决问 题的时候,总希望从复杂的问题中找到规律,并归结为简单 ...
- php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...
详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...
- Java求两个数的最大公约数及最小公倍数、求多个数的最大公约数及最小公倍数
今天参加腾讯笔试,做编程题时在最小公倍数.最大公约数这些这么简单的知识点上卡壳了,自信心受到强烈的打击,下来后猛复习了这方面的相关编程知识. 有以下几个关键点: 1.任意正整数的最大公约数.最小公倍数 ...
- python编写函数、计算三个数的最大公约数_python 函数求两个数的最大公约数和最小公倍数...
1. 求最小公倍数的算法: 最小公倍数 = 两个整数的乘积 / 最大公约数 所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下: 2. 求最大公约数算法: 1. 整数A对整数B进行 ...
- html 计算两数之和,百度web前端面试题之求两个数的最大公约数和最小公倍数
求两览页些求时是过解些这确如目前例总站回广随个数的最大公约数和最小公倍数,好是能览调不页新代些事几求事都时学下是事功过发,解像是第三题, 找到如下简洁遇新是直朋能到分览写法: <1> 用辗 ...
最新文章
- 开源库libuuid简介及使用
- 14岁上大学,29岁拿下教职,如今这位华裔学者拿下Jeffrey Elman大奖
- jmeter全局变量传参_Jmeter 将正则表达式提取的参数传给全局(跨线程组使用变量)...
- 图像增强——基于OpenCV的图像色彩增强
- 六十九、Springboot整合JDBC,连接Mysql
- 2015年第六届蓝桥杯 - 省赛 - C/C++大学B组 - C. 三羊献端
- 限时秒杀│中科院推荐!6个引自美国NASA盒子,玩转科学
- 单价数量和总价的公式_人教版四年级数学上册单价、数量和总价之间的关系微课...
- 宝塔linux上传文件视频,使用宝塔linux面板上传文件 解压缩zip和tar.gz
- 【链表】单链表的排序(归并排序)
- 18年12月英语六级第二套听力单词
- python打开图片操作步骤_python简单图片操作:打开\显示\保存图像方法介绍
- 电力系统稳定与控制_风电场柔性直流系统组网型控制关键技术
- ipad坏点测试软件,购买需谨慎 漏光坏点都要看_平板电脑评测-中关村在线
- json代码恶搞地图完整版qqxml地图卡片代码
- Java线程状态与方法关系
- Android MotionLayout As a Dancer
- 安卓兼容7.0图库选择图片生成二维码
- table thead tr设置表头背景色未完全覆盖的问题
- pgsql中实现按周统计,计算日期是周几
热门文章
- Lyapunov稳定性理论
- 【从零开始学习 SystemVerilog】11.2、SystemVerilog 断言—— Immediate Assertions(立即断言)
- 有备无患!应届生CV算法岗面试指南
- 关于计算机的小故事英语,英语寓言小故事(精选5篇)
- Python装逼指南——五行代码实现批量抠图
- 良好编码习惯养成助手——TS
- EOS智能合约编译部署
- 揭秘得物客服IM全链路通信过程
- 想要学好C++,必看,能看完,证明你有学习C++的潜质,否则趁早放弃
- 空间分析方法在计算机上的应用,第4章 GIS空间分析方法.pdf