要求
求两个正整数的最大公约数(或判断是否互斥)。
如果两个数字的最大公约数为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
参考资料
- python测试等IT技术支持qq群:630011153 144081101
- 代码地址 https://github.com/china-testing/python-testing-examples/tree/master/basic 建议拷贝到浏览器访问
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
参考答案
代码地址: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
网友评论