В училище и колеж всички сме научили основите на математиката. Сред всички сложни концепции за тригонометрия и аритметика, една концепция, която се използва най-често в програмирането, е тази на GCD или Greatest Common Divisor. Подобно на всички езици за програмиране, също поддържа създаването на код, който ще може да намери GCD на две числа, дадени от потребителя и в тази статия ще научим как да направим точно това. Нека да видим как да приложим GCD в Python,
- Какво е GCD?
- GCD Използване на рекурсии
- GCD Използване на цикли
- GCD, използващ евклидовия алгоритъм
- GCD Използване на математическа GCD функция
- Чести изключения
Какво е GCD?
GCD е съкращението за Greatest Common Divisor, което е математическо уравнение за намиране на най-голямото число, което може да раздели двете числа, дадени от потребителя. Понякога това уравнение се нарича и най-големият общ фактор. Например, най-големият общ коефициент за числата 20 и 15 е 5, тъй като и двете числа могат да бъдат разделени на 5. Тази концепция може лесно да бъде разширена и до набор от повече от 2 числа, където GCD ще бъде числото който разделя всички числа, дадени от потребителя.
Концепцията за GCD има широк брой приложения в теорията на числата, особено тази на технологията за криптиране, която е RSA, както и модулната аритметика. Понякога се използва и за опростяване на дроби, които присъстват в уравнение.
Сега, след като знаете основната концепция на GCD, нека видим как можем да кодираме програма в Python, за да изпълни същата.
GCD в Python
За да изчислим GCD в Python, трябва да използваме математическата функция, вградена в библиотеката на Python. Нека разгледаме няколко примера, за да разберем това по-добре.
Нека видим как да намерим GCD в Python, използвайки рекурсия
GCD Използване на рекурсии
# Python код за демонстриране на наивен # метод за изчисляване на gcd (рекурсия) def hcfnaive (a, b): if (b == 0): return a else: return hcfnaive (b, a% b) a = 60 b = 48 # отпечатва 12 print ('gcd от 60 и 48 е:', end = '') print (hcfnaive (60,48))
Когато стартира горната програма, изходът ще изглежда по следния начин.
Gcd на 60 и 48 е: 12
Също така можем да свържем GCD с помощта на цикли,
GCD Използване на цикли
# Python код за демонстриране на наивен # метод за изчисляване на gcd (Loops) def computeGCD (x, y): if x> y: small = y else: small = x for i in range (1, small + 1): if (( x% i == 0) и (y% i == 0)): gcd = i връща gcd a = 60 b = 48 # отпечатва 12 print ('Gcd от 60 и 48 е:', end = '') печат (изчисли GCD (60,48))
Когато горната програма бъде изпълнена, изходът ще изглежда така.
Gcd на 60 и 48 е: 12
Нека да видим следващия метод,
GCD, използващ евклидовия алгоритъм
# Python код за демонстриране на наивен # метод за изчисляване на gcd (евклидов алго) def computeGCD (x, y): while (y): x, y = y, x% y return xa = 60 b = 48 # отпечатва 12 print (' Gcd от 60 и 48 е: ', end =' ') print (computeGCD (60,48))
Резултатът за гореспоменатата програма ще бъде,
намери най-големия брой в масива java
Gcd на 60 и 48 е: 12
Продължавайки, по-долу е четвъртият метод за намиране на GCD в Python,
GCD Използване на математическа GCD функция
Преди да можем да използваме функцията math.gcd () за изчисляване на GCD на числата в Python, нека да разгледаме различните й параметри.
Синтаксис: math.gcd (x, y)
Параметри
X: е неотрицателното цяло число, чийто gcd трябва да бъде изчислен.
Y: е второто неотрицателно цяло число, чийто gcd трябва да бъде изчислен.
Върната стойност: Този параметър ще върне абсолютна положителна възвръщаема стойност, след като е изчислил GCD на двете числа, въведени от потребителя.
Изключения: Ако в определена ситуация и двете числа, въведени от потребителя, са нула, тогава функцията ще върне нула и ако входът е символ, тогава функцията ще върне грешка.
Нека да видим примерния код,
# Python код за демонстриране на gcd () # метод за изчисляване на gcd импортиране на математика # отпечатва 12 print ('gcd от 60 и 48 е:', end = '') print (math.gcd (60,48))
Резултатът от горната програма ще бъде,
Gcd на 60 и 48 е: 12
Чести изключения
Ето най-често срещаните изключения за използването на тази функция.
- Ако някое от числата, въведени от потребителя, е нула, тогава функцията ще върне нула.
- Ако някой от входовете е символ, функцията ще върне грешка в типа.
За да разберете това по-добре, разгледайте примера по-долу.
# Python код за демонстриране на gcd () # метод за изчисляване на gcd импортиране на математика # отпечатва 12 print ('gcd от 60 и 48 е:', end = '') print (math.gcd (60,48))
Резултатът за горната програма ще бъде,
Gcd на 0 и 0 е: 0
Gcd на a и 13 е:
Когато стартирате горната програма също ще върне грешка по време на изпълнение, която ще изглежда подобно на това.
Traceback (последно последно обаждане):
Файл „/home/94493cdfb3c8509146254862d12bcc97.py“, ред 12, в
print (math.gcd (‘a’, 13))
TypeError: Обектът „str“ не може да се интерпретира като цяло число
Така че това ни води до края на тази статия за GCD в Python.
За да получите задълбочени познания за Python заедно с различните му приложения, можете за онлайн обучение на живо с 24/7 поддръжка и доживотен достъп. Имате въпрос към нас? Споменете ги в раздела за коментари на тази статия и ние ще се свържем с вас.