美文网首页
某一线互联网公司python测试开发笔试题:求两个正整数的最大公

某一线互联网公司python测试开发笔试题:求两个正整数的最大公

作者: python测试开发 | 来源:发表于2020-08-08 07:52 被阅读0次

    要求

    求两个正整数的最大公约数(或判断是否互斥)。

    如果两个数字的最大公约数为1,则它们为互质数。

    编写Python程序来检查两个给定的数字是否互质。 如果两个数字互质,则返回True,否则返回false。

    方法小结

    • 辗转相除法

    1.将两整数求余 a%b = x

    2.如果x = 0;则b为最大公约数

    3.如果x != 0,则 a = b;b = x;继续从1开始执行

    4.也就是说该循环的是否继续的判断条件就是x是否为0

    • 辗转相减法

    1.如果a>b ,a = a - b;

    2.如果b>a ,b = b - a;

    3.假如a = b ,则 a或b 是最大公约数

    4.如果a != b,则继续继续相减,直至a = b

    • 枚举法

    1.选出a,b中最小的一个数字放到min中

    2.分别用a,b对i求余数,即看是否能被整除

    3.直到a,b同时都能被i整除

    4.如不能整除,i加一 继续开始执行,直到i等于min

    参考资料

    参考答案

    代码地址:https://github.com/china-testing/python-testing-examples/tree/master/interview

    is_coprime.py

    • 演示
    $ python is_coprime.py 
    1
    True
    1
    True
    3
    False
    5
    False
    15
    False
    
    

    相关文章

      网友评论

          本文标题:某一线互联网公司python测试开发笔试题:求两个正整数的最大公

          本文链接:https://www.haomeiwen.com/subject/lumcdktx.html