当前位置:网站首页>【Day_08 0426】求最小公倍数
【Day_08 0426】求最小公倍数
2022-08-01 17:40:00 【安河桥畔】
求最小公倍数
题目来源
牛客网:求最小公倍数
题目描述
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。
数据范围:1≤a,b≤100000
输入描述
输入两个正整数A和B。
输出描述
输出A和B的最小公倍数。
示例1
输入
5 7
输出
35
示例2
输入
2 4
输出
4
思路分析
解法一
- 暴力求解
- 从1开始与两数中较小的数相乘,找到能整除较大数的第一个成绩,这个数便是最小公倍数
解法二
- 求最小公约数
- 根据最小公倍数的公式,最小公倍数=两数乘积/最大公约数
- 通过辗转相除法得到两数的最大公约数
辗转相除法:又叫欧几里得算法,用于计算两个非负整数a和b的最大公约数,设a、b两个数的最大公约数为n,则ka+b,b的公约数也为n。以除数和余数反复作除法运算,当余数为0时,当前的除数就是最大公约数。参考文章:辗转相除法求最大公约数
代码展示
解法一
#include<iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b)
{
int x = max(a, b);
int n = min(a, b);
long long mul;
for (int i = 1; i <= x; i++)
{
mul = n * i;
if (mul % x == 0)
{
break;
}
}
cout << mul << endl;
}
}
解法二
#include<iostream>
using namespace std;
int Gcd(int a, int b)
{
int temp = 0;
while (temp)
{
//无论a大还是b大,经过一轮循环后,a都比b大
//如果a比b大,那么取模得到的是一个较小的数字,把这个数赋给b后,a一定比b大
//如果b比a大,那么第一轮循环会将较大的数赋值给a,取模得到的数字便是a本身,相当于将两个数进行了交换
temp=a%b;
a = b;
b = temp;
}
return a;
}
int main() {
int a, b;
while (cin >> a >> b)
{
cout << a * b / Gcd(a, b);
}
}
边栏推荐
- 我在启牛开户安全吗?谁能告诉我开不靠谱?
- Xingtu has been short of disruptive products?Will this M38T from the Qingdao factory be a breakthrough?
- ROS2系列知识(7):用rqt_console查看日志logs
- opencv实时人脸检测
- ROS2系列知识(6):Action服务概念
- 【R语言】对图片进行裁剪 图片批量裁剪
- 06 redis cluster structures
- 程序员架构修炼之道:如何设计“易理解”的系统架构?
- Basic image processing in opencv
- 块级元素、行内元素、行内块元素
猜你喜欢
一加OnePlus 10RT出现在Geekbench上 产品发布似乎也已临近

直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践

统信软件、龙芯中科等四家企业共同发布《数字办公安全创新方案》

QLineEdit learning and use

不需要写代码,快速批量修改文件夹中图片的格式

实现mnist手写数字识别

The site is not found after the website is filed. You have not bound this domain name or IP to the corresponding site! The configuration file does not take effect!

移动端吸顶方案

Topology零部件拆解3D可视化解决方案

Shell nl命令详解(显示行号、读取文件)
随机推荐
助推科技强国高质量发展《科创超级训练营》系列活动正式拉开帷幕
【报错】Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘concat‘)
不需要写代码,快速批量修改文件夹中图片的格式
QT_Event class
ROS2系列知识(7):用rqt_console查看日志logs
golang json returns null
2022年SQL经典面试题总结(带解析)
2022年MySQL最新面试题
千万级乘客排队系统重构&压测方案总结篇
QT_QThread线程
快速抽取resnet_v2_152中间的特征层
AIOps智能运维的领跑者擎创科技正式入驻InfoQ 写作社区!
解决MySQL插入不了中文数据问题
B011 - 51-based multifunctional fingerprint smart lock
程序员架构修炼之道:如何设计“易理解”的系统架构?
Bugku-Misc-贝斯手
史上最全的Redis基础+进阶项目实战总结笔记
频域分析实践介绍
使用设备树时对应的驱动编程
关于MySql中explain结果filtered的理解