In số ước chung của a và b bằng Python

Ước chung lớn nhất [GCD] là một thuật ngữ toán học để tìm thừa số chung lớn nhất có thể chia hai số một cách hoàn hảo. GCD còn được gọi là Yếu tố chung cao nhất [HCF]. Ví dụ HCF/GCD của 2 số 54 và 24 là 6. Vì 6 là ước chung lớn nhất chia hết 54 và 24

GCD Sử dụng chức năng gcd[]

Trong python, gcd[] là một hàm sẵn có được cung cấp bởi mô-đun toán học để tìm ước chung lớn nhất của hai số

cú pháp

Trong đó a và b là hai số nguyên được truyền làm đối số cho hàm gcd[]

Hãy tạo một chương trình để in GCD của hai số bằng hàm toán học có sẵn. gcd[] trong trăn

toán_vui. py

đầu ra

Trong ví dụ trên, phép toán. hàm gcd[] tạo GCD của hai số đã cho. Trong hàm gcd[], a và b chuyển thành đối số trả về ước chung lớn nhất của hai số nguyên, chia hết các số

GCD Sử dụng đệ quy

Đệ quy là một hàm tiêu thụ bộ nhớ được xác định trong python, gọi chính nó thông qua biểu thức tự tham chiếu. Nghĩa là hàm sẽ liên tục gọi và lặp lại cho đến khi thỏa mãn điều kiện xác định để trả về ước chung lớn nhất của một số

Mã giả của thuật toán

Bước 1. Lấy hai đầu vào, x và y, từ người dùng

Bước 2. Truyền số đầu vào làm đối số cho hàm đệ quy

Bước 3. Nếu số thứ hai bằng không [0], nó sẽ trả về số đầu tiên

Bước 4. Mặt khác, nó gọi đệ quy hàm với số thứ hai làm đối số cho đến khi nó nhận được phần còn lại, số này chia số thứ hai cho số thứ nhất

Bước 5. Gọi hoặc gán gcd_fun[] cho một biến

Bước 6. Hiển thị GCD của hai số

Bước 7. Thoát khỏi chương trình

Tìm hiểu chương trình tìm ƯCLN của hai số bằng đệ quy

gcdRecur. py

đầu ra

GCD Sử dụng Vòng lặp

Hãy tạo chương trình tìm GCD của hai số trong python bằng vòng lặp

gcdFile. py

đầu ra

Như chúng ta có thể thấy trong chương trình trên, chúng ta lấy hai giá trị làm đầu vào và chuyển các số này cho hàm GCD_Loop[] để trả về một GCD

GCD Sử dụng thuật toán Euclid hoặc Thuật toán Euclide

Thuật toán Euclid là một phương pháp hiệu quả để tìm ước chung lớn nhất của hai số. Đây là thuật toán lâu đời nhất chia số lớn hơn thành các số nhỏ hơn và lấy phần còn lại. Một lần nữa, nó chia số nhỏ hơn từ phần còn lại và thuật toán này liên tục chia số cho đến khi phần còn lại trở thành 0

Ví dụ, giả sử chúng ta muốn tính H. C. F của hai số, 60 và 48. Sau đó, chúng tôi chia 60 cho 48; . Bây giờ chúng ta lại chia số 24 cho 12 và sau đó nó trả về phần còn lại là 0. Vì vậy, theo cách này, chúng tôi nhận được H. C. f là 12

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Trình chỉnh sửa mã Python

Có một cách khác để giải quyết giải pháp này?

Trước. Viết chương trình Python để in độ dài của chuỗi và chuỗi từ số hạng thứ 3 đã cho, số hạng cuối cùng thứ 3 và tổng của một chuỗi
Kế tiếp. Viết chương trình Python để đảo ngược các chữ số của một số đã cho và thêm nó vào số ban đầu, Nếu tổng không phải là số đối xứng, hãy lặp lại quy trình này

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Theo dõi chúng tôi trên FacebookTwitter để cập nhật thông tin mới nhất.

con trăn. Lời khuyên trong ngày

Kwarg

**kwargs và *args là các đối số hàm có thể rất hữu ích

Chúng khá ít được sử dụng và cũng thường không được hiểu rõ

Hãy cố gắng giải thích kwargs là gì và cách sử dụng chúng

  • Trong khi *args được sử dụng để truyền các đối số với số lượng không xác định cho các hàm, thì **kwargs được sử dụng để làm điều tương tự nhưng với các đối số được đặt tên
  • Vì vậy, nếu *args là một danh sách được truyền dưới dạng đối số, thì bạn có thể coi **kwargs như một từ điển được truyền dưới dạng đối số cho một hàm
  • Bạn có thể sử dụng các đối số tùy thích miễn là bạn tuân theo đúng thứ tự. arg1, arg2, *args, **kwargs. Chỉ sử dụng một trong số đó là được nhưng bạn không thể trộn thứ tự, chẳng hạn như bạn không thể có. function[**kwargs, arg1], đó sẽ là một sai lầm lớn trong Python
  • Một vi dụ khac. Bạn có thể thực hiện function[*args,**kwargs] vì nó tuân theo đúng thứ tự
  • Đây là một ví dụ. Giả sử các vệ tinh được cung cấp tên và trọng lượng tính bằng tấn ở định dạng từ điển. Mã in trọng lượng của chúng dưới dạng kilôgam cùng với tên của chúng
def payloads[**kwargs]:
    for key, value in kwargs.items[]:
        print[ key+" |||", float[value]*100]
payloads[NavSat1 = '2.5', BaysatG2 = '4']

đầu ra

NavSat1 ||| 250.0
BaysatG2 ||| 400.0

Vì chức năng trên sẽ hoạt động với bất kỳ số lượng khóa từ điển nào, nên **kwargs có ý nghĩa hoàn hảo thay vì truyền đối số với số lượng cố định

Chủ Đề