当前位置:网站首页>XTU OJ 1075 求最小公倍数
XTU OJ 1075 求最小公倍数
2022-08-08 19:49:00 【51CTO】
问题描述
Description
有多个测试用例,每行两个正整数x,y,保证x*y不超过2^31-1。如果x与y都为0,则输入结束。
每行输出一个测试用例的结果,即x与y的最小公倍数。(最后一行有回车)
Sample Input
4 5
3 6
0 0
Sample Output
20
6
Source
ericxie
源代码及详细注释
这个题先用了辗转相除法求最大公约数,再用xy的乘积除最大公约数,得到最大公倍数。
欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。
欧几里得算法是用来求两个正整数最大公约数的算法。古希腊数学家欧几里得在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里得算法。
假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里得算法,是这样进行的:
1997 / 615 = 3 (余 152)
615 / 152 = 4(余7)
152 / 7 = 21(余5)
7 / 5 = 1 (余2)
5 / 2 = 2 (余1)
2 / 1 = 2 (余0)
至此,最大公约数为1
以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。
这里我写了两个源代码,大家比较下差异。
下面的代码用到了递归思想,构造了一个gcd函数。看不懂没关系的,靠熟练度能解决的事都不叫事,慢慢来。百度搜菜鸟教程,慢慢补基础知识
写于2021年8月4日22:51分。
边栏推荐
- 黑猫带你学Makefile第10篇:如何将未被编译的代码/自己写的驱动编译进uboot
- 挖财学堂帮开通的证券账户是真的吗?安全吗
- 如何用精益敏捷组合管理,提升研发效能?软件研发团队必看!
- Securities account is better to choose which brokerage platform, which is more safe
- PHP解析json数据,显示
- 继承的详解
- Is it safe to open an account with Qiniu Business School?Is it reliable to open an account?
- riscv-gnu-toolchain下载安装
- 方舟开服务器教程——开服配置常见问题及解决方法
- 瑞芯微rk1126 平台部分jpeg图片解码程序挂掉的问题
猜你喜欢
随机推荐
方舟基础物品指令代码大全
鹅厂机器狗花式穿越10m梅花桩:前空翻、单桩跳、起身作揖...全程不打一个趔趄
odoo login layout adjustment
Is it safe to open an account with Qiniu Business School?Is it reliable to open an account?
正则表达式与文本处理器
继承的详解
NAACL2022 NER SOTA—RICON学习笔记
微信小程序第一集
Codeforces Round #721 (Div. 2)
JMeter测试接口并发场景
Codeforces Round #705 (Div. 2)
树形DP总结
方舟综合指令代码大全系统综合
shell九九乘法口诀表
音视频技术开发周刊 | 257
hdu2018 母牛的故事(模拟)
SSM项目整合——综合案例
如何用精益敏捷组合管理,提升研发效能?软件研发团队必看!
n个数取出r个数排列
Implement the entire process of Mock API with tools