程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了有效检查两个数字是否为互质数(相对质数)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决有效检查两个数字是否为互质数(相对质数)??

开发过程中遇到有效检查两个数字是否为互质数(相对质数)?的问题如何解决?下面主要结合日常开发的经验,给出你关于有效检查两个数字是否为互质数(相对质数)?的解决方法建议,希望对你解决有效检查两个数字是否为互质数(相对质数)?有所启发或帮助;

改善的唯一建议可能是您的功能gcd。也就是说,您可以使用(对于Python )中gcd定义的速度提高速度。math``3.5

定义coprime2使用以下内置版本gcd

from math import gcd as bltin_gcd

def coprime2(a, b):
    return bltin_gcd(a, b) == 1

你几乎减少执行速度的一半归因于这样的事实math.gcd在实现C(见math_gcdmathmodule.c):

%timeit coprime(14, 15)
1000000 loops, best of 3: 907 ns per loop

%timeit coprime2(14, 15)
1000000 loops, best of 3: 486 ns per loop

对于Python,<= 3.4您可以使用,fractions.gcd但正如@ user2357112的注释中所述,它没有在中实现C。实际上,实际上没有任何动机去使用它, 它的实现与您的实现完全相同。

解决方法

什么是测试/检查Python中两个数字是否互质(相对质数)的最有效(“ Pythonic”)方式?

目前,我有以下代码:

def gcd(a,b):
    while b != 0:
        a,b = b,a % b
    return a

def coprime(a,b):
    return gcd(a,b) == 1

print(coprime(14,15)) #Should be true
print(coprime(14,28)) #Should be false

是否可以将用于检查/测试两个数字是否是素数的代码视为“ Pythonic”,或者有更好的方法?

大佬总结

以上是大佬教程为你收集整理的有效检查两个数字是否为互质数(相对质数)?全部内容,希望文章能够帮你解决有效检查两个数字是否为互质数(相对质数)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: