Как да приложим GCD в Python?



Тази статия ще ви запознае с различни начини за намиране на GCD в Python, последвана от подробна програмна демонстрация

В училище и колеж всички сме научили основите на математиката. Сред всички сложни концепции за тригонометрия и аритметика, една концепция, която се използва най-често в програмирането, е тази на GCD или Greatest Common Divisor. Подобно на всички езици за програмиране, също поддържа създаването на код, който ще може да намери GCD на две числа, дадени от потребителя и в тази статия ще научим как да направим точно това. Нека да видим как да приложим GCD в Python,

Нека започнем,





Какво е 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

Чести изключения

Ето най-често срещаните изключения за използването на тази функция.

  1. Ако някое от числата, въведени от потребителя, е нула, тогава функцията ще върне нула.
  2. Ако някой от входовете е символ, функцията ще върне грешка в типа.

За да разберете това по-добре, разгледайте примера по-долу.

# 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 поддръжка и доживотен достъп. Имате въпрос към нас? Споменете ги в раздела за коментари на тази статия и ние ще се свържем с вас.