Estoy usando el módulo de fracciones en Python v3.1 para calcular el mayor divisor común. Me gustaría saber qué algoritmo se usa. Estoy adivinando el método euclidiano, pero me gustaría estar seguro. Los documentos (http://docs.python.org/py3k/library/fractions.html?highlight=fractions.gcd#fractions.gcd) no ayudan. ¿Puede alguien darme alguna pista?¿Qué algoritmo emplea Python en fractions.gcd()?
10
A
Respuesta
18
Según the 3.1.2 source code online, aquí está gcd
como se define en Python-3.1.2/Lib/fractions.py
:
def gcd(a, b):
"""Calculate the Greatest Common Divisor of a and b.
Unless b==0, the result will have the same sign as b (so that when
b is divided by it, the result comes out positive).
"""
while b:
a, b = b, a%b
return a
Así que sí, es el algoritmo de Euclides, escrito en Python puro.
Cuestiones relacionadas
- 1. algoritmo para python itertools.permutations
- 2. Algoritmo Hopcroft-Karp en Python
- 3. Algoritmo Python k-means
- 4. ¿Qué algoritmo usa python's sorted()?
- 5. AKS Primes algoritmo en Python hace
- 6. Traducir Algoritmo C a Python
- 7. ¿Qué algoritmo hash utiliza el mapeo del diccionario de Python?
- 8. ¿Qué patrón de diseño se emplea mejor para controlar una secuencia de pasos?
- 9. Algoritmo de Gauss-Legendre en python
- 10. binario algoritmo de búsqueda en Python
- 11. AdaBoost ML algoritmo python implementación
- 12. Símbolo desconocido en el algoritmo: ¿qué significa ∀?
- 13. ¿Qué algoritmo está usando en ZIP estándar?
- 14. Algoritmo de relleno de inundación Python
- 15. ¿Qué es un algoritmo s2k?
- 16. Implementación de Python del algoritmo OPTICS (Clustering)
- 17. Implementación de Python del algoritmo de Viterbi
- 18. Python: utilizando un algoritmo recursivo como generador
- 19. Python - Algoritmo de encontrar espacios de tiempo
- 20. rendimiento de algoritmo de mezcla Python
- 21. Python: acelere un algoritmo Star Path Pathfinder
- 22. Algoritmo de C++ como 'groupby' de python
- 23. ¿Qué es un simple algoritmo de coincidencia de cadenas difusas en Python?
- 24. aplicación basada en oscilación de código abierto que emplea buenas prácticas
- 25. Implementación del algoritmo científico python en Amazon ec2
- 26. ¿Qué aumenta en Python?
- 27. ¿Qué significa "~" en python?
- 28. ¿Qué es un buen algoritmo de limitación de velocidad?
- 29. ¿Qué hay de malo con mi algoritmo?
- 30. ¿Por qué es este un algoritmo codicioso?
+1. ¡Definitivo! –
Si está usando IPython, puede ver el código fuente inmediatamente al escribir 'gcd ??' – endolith
Es en realidad: 'import fractions', luego:' fractions.gcd ?? 'en IPython. – syntagma