• Python数学计算工具4、Python求最大公约数


    最大公约数百度解析:

    最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。

    a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。

    求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。

    与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。

    我们这里只看最大公约数,很多家长在陪同孩子做作业的时候就会遇到这个问题,孩子问你,这两个数的最大公约数是什么,你就要拿起纸笔来计算了,简单的还好,能被2/3整除的这类可以利用成倍的数值测试,几秒也就算出来了,但是很多的时候甚至是比较大的质因数,就很难通过大脑直接运算了,不过我们很多时候还是身边有计算机的,那么使用这个工具跑起来就方便了。

    不是所有的两个数都有除【1】以外的最大公约数,所以两个数最少只有1是俩数的最大公约数。

    我们接下来先来一个编码示例:

    1. def MaxToMolecular(x, y):
    2. """该函数返回两个数的最大公约数"""
    3. # 获取最小值
    4. if x > y:
    5. Min = y
    6. else:
    7. Min = x
    8. for i in range(1, Min + 1):
    9. '''
    10. 循环过程是从1开始的,1不做计算,还有Min+1是因为range循环的时候不包含最后一个值,所以得+1
    11. '''
    12. if ((x % i == 0) and (y % i == 0)):
    13. result = i
    14. return result
    15. print(MaxToMolecular(1286266616, 99616))

    测试的好大一个数,最大公约数是【8】 

    整理打包:

    1. import os
    2. os.system("title 最大公约数计算:")
    3. def MaxToMolecular(x, y):
    4. """该函数返回两个数的最大公约数"""
    5. # 获取最小值
    6. if x > y:
    7. Min = y
    8. else:
    9. Min = x
    10. for i in range(1, Min + 1):
    11. '''
    12. 循环过程是从1开始的,1不做计算,还有Min+1是因为range循环的时候不包含最后一个值,所以得+1
    13. '''
    14. if ((x % i == 0) and (y % i == 0)):
    15. result = i
    16. return result
    17. while True:
    18. try:
    19. x = int(input("请输入第一个数x:"))
    20. y = int(input("请输入第二个数y:"))
    21. print("{0},{1}的最大公约数是:{2}".format(x, y, MaxToMolecular(x, y)))
    22. except:
    23. print("请输入正确数值")

    示例包下载地址:

    https://download.csdn.net/download/feng8403000/86949967

    下面是打包过程:

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

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

    pyinstaller -F -p D:\save\Exe\studys\Python\exe\Lib -i D:\save\myclass\Python\core\pythonProject\python.ico demo5.py -n ""两个数的最大公约数计算器"

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

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

     

  • 相关阅读:
    C++ 【1】
    负载均衡式在线OJ判题系统
    【LeetCode】 387. 字符串中的第一个唯一字符
    能学习139条红外码的红外空调控制器长什么样子?
    openresty+etcd配置实现原理
    安达发|AI在APS生产计划排程系统中的应用与优势
    MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加
    CDH大数据平台 28Cloudera Manager Console之superset相关包安装(markdown新版二)
    马赛克战对指挥与通信领域的启示分析
    【工程应用十】基于十六角度量化的夹角余弦相似度模版匹配算法原理解析。
  • 原文地址:https://blog.csdn.net/feng8403000/article/details/127808944