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


    最小公倍数百度解析:

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

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

    1. import os
    2. def gcd(x, y):
    3. '''
    4. 求最大公约数
    5. :param x:
    6. :param y:
    7. :return:
    8. '''
    9. if y == 0:
    10. return x
    11. return gcd(y, x % y)
    12. def lcm(x, y):
    13. '''
    14. 计算最大公倍数
    15. :param x:
    16. :param y:
    17. :return:
    18. '''
    19. return x * y / gcd(x, y)
    20. print(lcm(6, 9))

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

    打包代码:

    1. import os
    2. os.system("title 求两个数的最小公倍数:")
    3. def gcd(x, y):
    4. '''
    5. 求最大公约数
    6. :param x:
    7. :param y:
    8. :return:
    9. '''
    10. if y == 0:
    11. return x
    12. return gcd(y, x % y)
    13. def lcm(x, y):
    14. '''
    15. 计算最大公倍数
    16. :param x:
    17. :param y:
    18. :return:
    19. '''
    20. return x * y / gcd(x, y)
    21. try:
    22. while True:
    23. x = int(input("请输入第一个值X:"))
    24. y = int(input("请输入第一个值Y:"))
    25. print(lcm(x, y))
    26. except:
    27. 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】代表成功了。

    测试成功。

  • 相关阅读:
    Vault-如何与运维体系融合
    leetcode:6248. 统计中位数为 K 的子数组【问题转化 + 排序二分】
    大数据编程实验三:SparkSQL编程
    一个UI设计师自学编程的经历
    cad由于找不到mfc140u.dll怎么回事?mfc140u.dll丢失的解决方法
    了解一下pnpm
    富文本编辑器的实现与回显
    Ajax--初识Ajax--接口和案例 - 图书管理
    Node编写更新用户头像接口
    ArrayList 和 LinkedList 到底有哪些区别?
  • 原文地址:https://blog.csdn.net/feng8403000/article/details/127815148