Hướng dẫn how do you find the gcd of two numbers in a while loop in python? - làm thế nào để bạn tìm thấy gcd của hai số trong một vòng lặp trong python?

GCD là viết tắt của ước số chung lớn nhất. GCD của hai số là số lớn nhất phân chia cả hai. stands for Greatest Common Divisor. The GCD of two numbers is the largest number that divides both of them.

Ví dụ - GCD 20 và 25 là 5 và GCD là 50 và 100 là 50.

Phương pháp 1: Sử dụng cho vòng lặp để tìm GCD của hai số

Trong ví dụ dưới đây, đối với vòng lặp được sử dụng để lặp lại biến I từ 0 đến số nhỏ hơn. Nếu cả hai số đều chia hết cho I, thì nó sẽ sửa đổi GCD và cuối cùng đưa ra GCD của hai số.

x = 50
y = 100
if x > y:
  x, y = y, x
for i in range(1,x+1):
  if x%i == 0 and y%i == 0:
    gcd = i

print("GCD of", x, "and", y, "is:", gcd)

Mã trên sẽ cho đầu ra sau:


Phương pháp 2: Sử dụng trong khi vòng lặp để tìm GCD của hai số

Trong ví dụ dưới đây, số lượng lớn hơn được thay thế bằng một số được tính bằng cách trừ đi số nhỏ hơn từ số lớn hơn. Quá trình được tiếp tục cho đến khi hai số trở nên bằng nhau sẽ là GCD của hai số.

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)

Mã trên sẽ cho đầu ra sau:


Phương pháp 2: Sử dụng trong khi vòng lặp để tìm GCD của hai số

Trong ví dụ dưới đây, số lượng lớn hơn được thay thế bằng một số được tính bằng cách trừ đi số nhỏ hơn từ số lớn hơn. Quá trình được tiếp tục cho đến khi hai số trở nên bằng nhau sẽ là GCD của hai số.Euclidean algorithm.

def gcd(x, y):
  if y == 0:
    return x
  return gcd(y, x%y)

x = 250
y = 475

print("GCD of", x, "and", y, "is:", gcd(x,y))

Mã trên sẽ cho đầu ra sau:

GCD of 250 and 475 is: 25


Phương pháp 2: Sử dụng trong khi vòng lặp để tìm GCD của hai số

Trong ví dụ dưới đây, số lượng lớn hơn được thay thế bằng một số được tính bằng cách trừ đi số nhỏ hơn từ số lớn hơn. Quá trình được tiếp tục cho đến khi hai số trở nên bằng nhau sẽ là GCD của hai số.

import math as ma

x = 80
y = 100

print("GCD of", x, "and", y, "is:", ma.gcd(x,y))

Mã trên sẽ cho đầu ra sau:




Phương pháp 2: Sử dụng trong khi vòng lặp để tìm GCD của hai số

  • Trong ví dụ dưới đây, số lượng lớn hơn được thay thế bằng một số được tính bằng cách trừ đi số nhỏ hơn từ số lớn hơn. Quá trình được tiếp tục cho đến khi hai số trở nên bằng nhau sẽ là GCD của hai số.
  • Phương pháp 3: Sử dụng hàm đệ quy để tìm GCD của hai số
  • Trong ví dụ dưới đây, chức năng đệ quy được sử dụng. Trong phương pháp này, thay vì sử dụng toán tử trừ (như trong ví dụ trên), toán tử modulo được sử dụng. Phương pháp này còn được gọi là thuật toán Euclide.
  • Phương pháp 4: Sử dụng chức năng GCD của mô -đun toán học
  • GCD của hai số có thể được tính toán bằng hàm GCD của mô -đun toán học. Xem xét các ví dụ sau.
  • Các trang được đề xuất
  • Chương trình Python - Để kiểm tra số nguyên tố
  • Chương trình Python - Sắp xếp bong bóng
  • Chương trình Python - Sắp xếp lựa chọn
  • Chương trình Python - SUMArray tối đa
  • Chương trình Python - Các chữ số ngược của một số nguyên nhất định
  • Python - Trao đổi hai số
  • Chương trình Python - Trình tự Fibonacci
  • Chương trình Python - Sắp xếp chèn
  • Chương trình Python - Tìm giai thừa của một số
  • Chương trình Python - Tìm HCF của hai số
  • Chương trình Python - Sắp xếp hợp nhất
  • Chương trình Python - Sắp xếp vỏ
  • Xếp chồng trong Python
  • Hàng đợi trong Python

GCD của hai số trong Python sử dụng cho vòng lặp. Trong bài viết này, bạn sẽ tìm hiểu cách & nbsp; tìm GCD của hai số trong Python sử dụng cho vòng lặp.

GCD & NBSP; của hai số là gì?

GCD là số nguyên lớn nhất của hai số nguyên dương & nbsp; có thể chia chính xác & nbsp; cả hai số mà không còn A & nbsp; phần còn lại.GCD is the largest integer number of two positive integer numbers that can exactly divide both numbers without remaining a remainder.

GCD của hai số trong Python sử dụng trong khi vòng lặp

# GCD of Two Numbers in Python using While loop
p, q = None, None

# p & q - denotes the two positive numbers

print ("-----Enter the two positive integer numbers-----")
p = int (input ())
q = int (input ())

while p != q:
	if p > q:
		p -= q
	else:
		q -= p

print ("\nThe GCD number is: ", p)

Chạy chương trình

Đầu ra

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
0

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
1

GCD của hai số trong Python sử dụng cho vòng lặp

# GCD of Two Numbers in Python using For loop
p, q, g = None, None, None

# p & q - denotes the two positive numbers

print ("-----Enter the two positive integer numbers-----")
p = int (input ())
q = int (input ())

for i in range (1, p + 1):
	if i <= q:
		if p % i == 0 and q % i == 0:
			g = i

print ("\nThe GCD number of ", p, " & ", q, " is: ", g)

Chạy chương trình

Đầu ra

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
0

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
3

Trong ví dụ này, bạn sẽ học cách tìm GCD của hai số bằng hai phương pháp khác nhau: hàm và vòng lặp và, thuật toán Euclidean

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Chức năng Python
  • Đệ quy Python
  • Đối số chức năng Python

Yếu tố chung cao nhất (H.C.F) hoặc ước số chung lớn nhất (G.C.D) của hai số là số nguyên dương lớn nhất phân chia hoàn hảo hai số đã cho. Ví dụ, H.C.F của 12 và 14 là 2.

Mã nguồn: Sử dụng các vòng lặp

# Python program to find H.C.F of two numbers

# define a function
def compute_hcf(x, y):

# choose the smaller number
    if x > y:
        smaller = y
    else:
        smaller = x
    for i in range(1, smaller+1):
        if((x % i == 0) and (y % i == 0)):
            hcf = i 
    return hcf

num1 = 54 
num2 = 24

print("The H.C.F. is", compute_hcf(num1, num2))

Đầu ra

The H.C.F. is 6

Ở đây, hai số nguyên được lưu trữ trong các biến NUM1 và NUM2 được truyền đến hàm

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
4. Hàm tính toán H.C.F. Hai số này và trả lại nó.

Trong hàm, trước tiên chúng tôi xác định số nhỏ hơn của hai số vì H.C.F chỉ có thể nhỏ hơn hoặc bằng số nhỏ nhất. Sau đó, chúng tôi sử dụng một vòng

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
5 để đi từ 1 đến số đó.

Trong mỗi lần lặp, chúng tôi kiểm tra xem số của chúng tôi có phân chia hoàn hảo cả hai số đầu vào không. Nếu vậy, chúng tôi lưu trữ số dưới dạng H.C.F. Khi hoàn thành vòng lặp, chúng tôi kết thúc với con số lớn nhất phân chia hoàn hảo cả hai số.

Phương pháp trên rất dễ hiểu và thực hiện nhưng không hiệu quả. Một phương pháp hiệu quả hơn nhiều để tìm H.C.F. là thuật toán Euclide.

Thuật toán Euclide

Thuật toán này dựa trên thực tế là H.C.F. của hai con số phân chia sự khác biệt của chúng là tốt.

Trong thuật toán này, chúng tôi chia lớn hơn cho nhỏ hơn và lấy phần còn lại. Bây giờ, chia nhỏ hơn cho phần còn lại này. Lặp lại cho đến khi phần còn lại là 0.

Ví dụ: nếu chúng ta muốn tìm H.C.F. của 54 và 24, chúng tôi chia 54 cho 24. Phần còn lại là 6. Bây giờ, chúng tôi chia 24 cho 6 và phần còn lại là 0. Do đó, 6 là h.c.f.

Mã nguồn: Sử dụng thuật toán Euclide

# Function to find HCF the Using Euclidian algorithm
def compute_hcf(x, y):
   while(y):
       x, y = y, x % y
   return x

hcf = compute_hcf(300, 400)
print("The HCF is", hcf)

Ở đây chúng tôi lặp cho đến khi y trở thành không.Tuyên bố

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
6 thực hiện hoán đổi các giá trị trong Python.Nhấn vào đây để tìm hiểu thêm về việc hoán đổi các biến trong Python.

Trong mỗi lần lặp, chúng tôi đặt giá trị của y trong x và phần còn lại

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

print("GCD of", p, "and", q, "is:", x)
7 trong y, đồng thời.Khi y trở thành 0, chúng ta có H.C.F.trong x.