Я использую модуль фракций в Python v3.1 для вычисления наибольшего общего делителя. Я хотел бы знать, какой алгоритм используется. Я догадываюсь об эвклидовом методе, но хочу быть уверенным. Документы (http://docs.python.org/py3k/library/fractions.html?highlight=fractions.gcd#fractions.gcd) не помогают. Может кто-нибудь подскажет мне?Какой алгоритм использует Python во фракциях.gcd()?
10
A
ответ
18
Согласно the 3.1.2 source code online, вот gcd
, как определено в 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
Так что да, это алгоритм Евклида, написанный на чистом Python.
Смежные вопросы
- 1. Какой алгоритм использует сортировка() python?
- 2. Какой алгоритм хэша использует использование словарей Python?
- 3. Какой алгоритм использует Bitmap.smoothing?
- 4. Какой алгоритм использует table.sort?
- 5. Какой алгоритм использует Math.random?
- 6. Какой алгоритм использует метод GameplayKit?
- 7. Какой алгоритм сортировки использует PHP?
- 8. Какой алгоритм сортировки использует qsort()?
- 9. Какой алгоритм шифрования использует ProtectedData?
- 10. Какой алгоритм оптимизации использует scipy.optimize.leastsq?
- 11. Какой пакет использует Python?
- 12. Какой алгоритм использует Apache Solr для сортировки?
- 13. Какой алгоритм регулярного выражения использует PHP?
- 14. Какой алгоритм FFT использует этот код?
- 15. Какой алгоритм использует sortBy в Spark?
- 16. Какой алгоритм шифрования использует поставщик членства .net?
- 17. Какой алгоритм использует Excel для пересчета формул?
- 18. Какой алгоритм использует Angularjs для визуализации выражений?
- 19. Какой алгоритм использует граничная функция Matlab?
- 20. Какой алгоритм установки использует Mathematica в NonlinearModelFit []?
- 21. Какой алгоритм использует Photoshop для обесцвечивания изображения?
- 22. Какой алгоритм использует этот метод сортировки?
- 23. Какой алгоритм использует метод сортировки Ruby?
- 24. Какой алгоритм линеаризации использует Ruby для Mixins?
- 25. Какой строковый алгоритм поиска использует strstr?
- 26. Какой алгоритм использует MsOffice для шифрования файлов?
- 27. Какой алгоритм использует IOS для обновлений Delta
- 28. Какой алгоритм использует Matlab в SVD?
- 29. Какой алгоритм выбора использует кластер отказоустойчивости microsoft?
- 30. Какой алгоритм используется во время переустановки Git?
+1. Definitive! –
Если вы используете IPython, вы можете сразу увидеть исходный код, набрав 'gcd ??' – endolith
Это на самом деле: 'import fractions', а затем:' fractions.gcd ?? 'в IPython. – syntagma