Python数学计算工具5、Python求最最小公倍数

2022-11-30 21:03:59 浏览数 (1)

最小公倍数百度解析:

两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。 与最小公倍数相对应的概念是最大公约数,a,b的最大公约数记为(a,b)。关于最小公倍数与最大公约数,我们有这样的定理:(a,b)x[a,b]=ab(a,b均为整数)。

最小公倍数在通分的时候会使用到,上文百度解析中可以看到a与b之间的最小公倍数关系。那么我们这里需要具体的举例子看看:

例如:

3与4的最小公倍数是:12

计算方法也就是3*4=12,这是最简单的,我们升级一下难度。

6与9的最小公倍数是:18,也就是6*9=54/3=18,这里为什么要除以3呢,因为是最小公倍数,需要除以咱们上篇文章【 Python数学计算工具4、Python求最大公约数】的最大公约数来计算,由于咱们算过了我就不重复了。

示例:我这里使用的是欧几里得

代码语言:javascript复制
import os


def gcd(x, y):
    '''
    求最大公约数
    :param x:
    :param y:
    :return:
    '''
    if y == 0:
        return x
    return gcd(y, x % y)


def lcm(x, y):
    '''
    计算最大公倍数
    :param x:
    :param y:
    :return:
    '''
    return x * y / gcd(x, y)


print(lcm(6, 9))

确定一下刚才的结果:确定是18没有错。 

打包代码:

代码语言:javascript复制
import os

os.system("title 求两个数的最小公倍数:")


def gcd(x, y):
    '''
    求最大公约数
    :param x:
    :param y:
    :return:
    '''
    if y == 0:
        return x
    return gcd(y, x % y)


def lcm(x, y):
    '''
    计算最大公倍数
    :param x:
    :param y:
    :return:
    '''
    return x * y / gcd(x, y)


try:
    while True:
        x = int(input("请输入第一个值X:"))
        y = int(input("请输入第一个值Y:"))
        print(lcm(x, y))
except:
    print("请正确输入!")

示例包下载地址:

使用打包工具:【pip3 install pyinstaller】 

下面是打包过程:

安装完成后注意使用语法:

pyinstaller -F -p C:Usersqwe84AppDataLocalProgramsPythonPython39Lib -i D:savestudypythonpythonProjectpython.ico demo5.py -n "两个数的最小公倍数"

可以看到我使用了2个绝对路径,绝对路径1是Python环境的包所在的位置,如果包不全的话需要自己通过pip进行下载,建议修改完镜像位置再下载。不会也别着急,每篇违章后面都会有打包教程。操作次数多了也就会了。

执行完成我们看到【successfully】代表成功了。

测试成功。

0 人点赞