首页 > 试题广场 >

求最小公倍数

[编程题]求最小公倍数
  • 热度指数:347125 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。

数据范围:

输入描述:

输入两个正整数A和B。



输出描述:

输出A和B的最小公倍数。

示例1

输入

5 7

输出

35
示例2

输入

2 4

输出

4
头像 lZxxxxxx
发表于 2021-11-22 19:21:40
在大的数的倍数里面去找最小的能整除另外一个数的数,就是最小公倍数,按照大的来找,循环次数能够降到很少,提升效率 while True:     try:         a,b=list(map(int, input().split())) 展开全文
头像 任致志
发表于 2020-12-13 21:02:04
短除法:所有公共除数与所有余数之积,即为最小公倍数。 A, B = map(int, input().split()) T = 1  # 初始1便于不影响乘数结果 for i in&nb 展开全文
头像 ren卷卷
发表于 2022-02-25 21:05:50
要清楚公倍数的概念就是同时可以整除两个数。所以只要一个数逐渐累加自身到可以整除另一个数时就是既可以整除自己也可以整除另一个数,此时结果就是要得到的公倍数 import java.util.Scanner; public class Main {   展开全文
头像 少给我¥扯淡
发表于 2020-03-30 13:42:37
求最大公约数有两种方法 更相减损法和辗转相处法 最小公倍数在求出最大公约数后 两个数相乘除以最大公约数就是最小公倍数以下我们用的是更相减损法更相减损法是拿两个数中的较大值减去较小值,然后在减数、被减数、差之间选取两个较小值继续相减,直到减数和被减数相等,得出的数就是最大公约数。例://更相减损术: 展开全文
头像 为什么机器不学习
发表于 2021-01-08 16:15:23
a,b的最大公约数为gcd(a,b),最小公倍数的公式为:此题说是正数,所以绝对值无所谓了。我们可以发现题目带了‘递归’的标签,那么就用递归来实现gcd,既是面向题目编程,又方便了自己,一举两得。 gcd的算法是根据Euclidean algorithm来的,拿维基百科的例子来说: 计算a 展开全文
头像 牛客374676145号
发表于 2022-03-06 02:36:14
这道题都是困在计算时间的坎儿上了。难点在于如何梳理循环条件,降低计算负荷。 a, b = map(int, input().split()) for i in range(max(a,b), a*b+1, max(a,b)): if i % min(a,b) == 0: pr 展开全文
头像 挖掘机斯基
发表于 2021-06-24 15:24:44
思路:欧几里得求最大公约数,根据公式ab=最小公倍数gcd(a,b),得到最小公倍数。代码如下: import java.util.Scanner; public class Main { public static void main(String[] args) { 展开全文
头像 我是一颗大白菜__
发表于 2021-09-28 23:43:02
#include<iostream> using namespace std; int main() { int a,b; cin>>a>>b; //最小公倍数一定是较大者的整数倍 //a*b一定是a、b的公倍数,但不一定是最小的 展开全文
头像 liben_hfut
发表于 2021-09-29 11:00:00
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasN 展开全文
头像 大橙子🍊MY.
发表于 2020-09-23 01:07:15
a, b = map(int, input().split()) def gy(a, b): while (b != 0): c = a % b a = b b = c return a print(int((a * b) / 展开全文

问题信息

难度:
926条回答 78067浏览

热门推荐

通过挑战的用户

查看代码