牛客网 - 在线编程 - 华为机试 - 求最小公倍数

题目描述

正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。

输入描述:

输入两个正整数A和B。

输出描述:

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

示例1

输入

5 
7

输出

35

c++:

两数最小公倍数 = 两数之积 / 两数最大公约数

求最大公约数:辗转相除法。a%b赋值给新b,原来的b赋值给新a,再继续新a%新b,直至余数为0

#include <iostream>
using namespace std;

int gcd(int, int);
int main()
{
	int a, b;
	while (cin >> a >> b)
	{
		cout << a * b / gcd(a, b) << endl;
	}
	return 0;
}
int gcd(int a, int b)
{
	while (b)
	{
		int t = a % b;
		a = b;
		b = t;
	}
	return a;
}

python:

def gcd(a, b):
    while(b):
        a, b = b, a % b
    return a

while True:
    try:
        a, b = map(int,input().split())
        print(a * b // gcd(a, b))
    except:
        break

注意输入使用map函数,具体用法参考:python map()函数

map(function , seq): 将seq中的元素都应用function函数并存到列表中,当有多个seq时,按列操作

猜你喜欢

转载自blog.csdn.net/qq_39735236/article/details/81839470