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

举报
红目香薰 发表于 2022/11/29 15:13:59 2022/11/29
【摘要】 ​最小公倍数百度解析:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。与最小公倍数相对应的概念是最大公约数,a,b的最大公约数记为(a,b)。关于最小公倍数与最大公约数,我们有这样的定理:(a,b)x[a,b]=ab(...

最小公倍数百度解析:

两个或多个整数公有的倍数叫做它们的公倍数,其中除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求最大公约数】的最大公约数来计算,由于咱们算过了我就不重复了。

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

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没有错。 

编辑

打包代码:

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:\Users\qwe84\AppData\Local\Programs\Python\Python39\Lib -i D:\save\study\python\pythonProject\python.ico demo5.py -n "两个数的最小公倍数"

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

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

编辑

测试成功。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。