Đệ quy danh sách đảo ngược python

Chỉnh sửa. Tôi đã không đọc bit đệ quy/một hàm trong câu hỏi của bạn vì tôi bị câm. hợp nhất ngay bây giờ

Nội dung chính Hiển thị

  • LCM của một số sử dụng đệ quy
  • Phương pháp 1. Sử dụng đệ quy
  • Mã Python
  • Phương pháp 2. Sử dụng vòng lặp
  • Mã Python
  • Hàm LCM trong Python
  • Chương trình sử dụng GCD
  • LCM của hai số trong Python sử dụng đệ quy
  • Làm thế nào để bạn tìm thấy LCM với đệ quy?
  • Làm thế nào để bạn làm LCM trong python?
  • Làm cách nào để bạn tìm thấy LCM trong vòng lặp while trong python?
  • Làm thế nào để bạn in HCF và LCM trong python?

Lcm không phải là

def lcm[x, y, counter=1]:
    if [counter%x == 0 and counter%y == 0]:
        return counter
    return lcm[x, y, counter+1]
0, mà là
def lcm[x, y, counter=1]:
    if [counter%x == 0 and counter%y == 0]:
        return counter
    return lcm[x, y, counter+1]
1 [ước số chung lớn nhất]

Vì vậy, cách sạch nhất để làm điều này là

def gcd[x, y]:
    while y:      
        x, y = y, x % y
    return x

def lcm[x, y]:
    return x * y / gcd[x, y]

Nếu bạn bị giới hạn chỉ đệ quy [e. g. cho một bài kiểm tra] thì điều này không nhất thiết phải hiệu quả, vì vậy bạn cũng có thể đếm đệ quy cho đến khi bạn tìm thấy số nhỏ nhất mà cả x và y chia thành

def lcm[x, y, counter=1]:
    if [counter%x == 0 and counter%y == 0]:
        return counter
    return lcm[x, y, counter+1]

Điều đó chỉ tăng bộ đếm cho đến khi

def lcm[x, y, counter=1]:
    if [counter%x == 0 and counter%y == 0]:
        return counter
    return lcm[x, y, counter+1]
2 là đúng, đó là LCM. Tuy nhiên, đừng thử với số lượng lớn, bạn sẽ bị tràn ngăn xếp

LCM của một số sử dụng đệ quy

Trên trang này, chúng ta sẽ học cách tạo chương trình python để tìm LCM của một số bằng cách sử dụng Đệ quy

LCM – Bội chung nhỏ nhất của hai hay nhiều số. Là số nhỏ nhất mà nó chia hết cho tất cả các số mà chúng ta đang tìm LCM.  

Thí dụ

  • Đầu vào. thứ nhất = 23, thứ hai = 69
  • đầu ra. HCF của 23 và 69 là 69
  • Giải trình. Không có số nào nhỏ hơn 69 chia hết cho cả 23 và 69. Đó là lý do tại sao 69 là LCM của 23 và 69

Phương pháp 1. Sử dụng đệ quy

thuật toán

  • Bắt đầu bằng cách tạo một hàm và chuyển cả hai số cho nó dưới dạng a và b
  • Trả về một phép nhân chia cho giá trị được trả về bởi một hàm khác lấy a và b
  • Nếu b bằng 0 trả về a
  • Khác trả về lệnh gọi đệ quy cho hàm với các giá trị b và phần còn lại khi a được chia cho b tương ứng

Mã Python

Chạy

def hcf[a, b]:
    if b == 0:
        return a
    else:
        return hcf[b, a % b]


def lcm[a, b]:
    return [a * b] // hcf[a, b]


first = 23
second = 69

print["Lcm of", first, "and", second, "is", lcm[first, second]]
Output :

Lcm of 23 and 69 is 69

Phương pháp 2. Sử dụng vòng lặp

thuật toán

  • Bắt đầu bằng cách tạo một hàm và chuyển cả hai số cho nó dưới dạng a và b
  • Trả về a nhân với b chia cho giá trị được trả về bởi một hàm khác lấy a và b
  • Nếu tối đa giữa a & b được chia cho tối thiểu giữa a & b cho phần còn lại bằng 0 trả lại tối thiểu giữa a & b
  • Lặp lại bằng cách sử dụng vòng lặp for giữa phạm vi thêm một nửa giá trị tối thiểu giữa a & b đến 0 theo thứ tự ngược lại bằng cách sử dụng biến i
  • Đối với mỗi lần lặp, hãy kiểm tra xem a chia cho i và b chia cho i đều bằng 0 hay không, sau đó trả về i

Mã Python

Chạy

def hcf[a, b]:
    if max[a, b] % min[a, b] == 0:
        return min[a, b]
    for i in range[1 + min[a, b] // 2, 0, -1]:
        if a % i == b % i == 0:
            return i


def lcm[a, b]:
    return [a * b] // hcf[a, b]


first = 23
second = 69

print['LCM of', first, 'and', second, 'is', lcm[first, second]]
Output :

Lcm of 23 and 69 is 69

Đối với các câu hỏi tương tự, nhấp vào nút đã cho

LCM của hai số trong python. Bội số chung nhỏ nhất hoặc bội số chung nhỏ nhất [LCM] của hai số nguyên a và b là số dương nhỏ nhất chia hết cho cả a và b

Ví dụ. -
LCM của 3 và 5 là 15 vì 15 chia hết cho cả 3 và 5.
LCM của 12 và 15 là 60 vì 60 chia hết cho cả 12 và 15.

Đây là một phương pháp bình thường để tìm lcm của hai số trong python. Chúng tôi sẽ lấy hai số trong khi khai báo các biến. Chương trình Python tìm lcm của hai số bằng câu lệnh if-else và vòng lặp while

# Python program to find the LCM of the two numbers

# take inputs
num1 = int[input['Enter first number: ']]
num2 = int[input['Enter second number: ']]

# choose the greater number
if [num1 > num2]:
    greater = num1
else:
    greater = num2

while[True]:
    # find LCM
    if[greater % num1 == 0 and greater % num2 == 0]:
        print['The LCM of',num1,'and',num2,'is',greater]
        break
    greater += 1

Đầu ra cho giá trị đầu vào khác nhau. -

Nhập số đầu tiên. 2
Nhập số thứ hai. 4
LCM của 2 và 4 là 4

Nhập số đầu tiên. 3
Nhập số thứ hai. 5
LCM của 3 và 5 là 15

Nhập số đầu tiên. 20
Nhập số thứ hai. 8
LCM của 20 và 8 là 40

Trong mỗi lần lặp lại, chúng tôi kiểm tra xem cả hai số có chia hoàn toàn số của chúng tôi không. Nếu vậy, chúng tôi lưu trữ số dưới dạng L. C. M. và thoát khỏi vòng lặp. Mặt khác, số được tăng thêm 1 và vòng lặp tiếp tục

Hàm LCM trong Python

Chúng ta cũng có thể nhờ sự trợ giúp của hàm tìm lcm của hai số trong python. Hàm là một khối mã thực hiện một tác vụ cụ thể

def lcm[x, y, counter=1]:
    if [counter%x == 0 and counter%y == 0]:
        return counter
    return lcm[x, y, counter+1]
0

đầu ra. -

Nhập số đầu tiên. 50
Nhập số thứ hai. 40
LCM của 50 và 40 là 200

Chương trình sử dụng GCD

Các phương thức chương trình trên chạy chậm hơn. Chúng ta có thể làm cho nó hiệu quả hơn và nhanh hơn bằng cách sử dụng thực tế là tích của hai số a và b bằng tích của HCF[a,b] và LCM[a,b]

a*b = HCF[a, b] * LCM[a, b]

HCF [nhân tố chung cao nhất] còn được gọi là GCD [Đo lường chung lớn nhất], Sử dụng công thức này, chúng ta có thể tìm thấy GCD và LCM tại một thời điểm. Chúng ta cần tìm GCD và LCM rồi áp dụng công thức này

Trong chương trình dưới đây để tìm LCM của hai số trong python; . Công thức được sử dụng cho mục đích này là. -

LCM[a, b] = [a*b] / HCF[a, b]

def lcm[x, y, counter=1]:
    if [counter%x == 0 and counter%y == 0]:
        return counter
    return lcm[x, y, counter+1]
1

đầu ra. -

Nhập số đầu tiên. 10
Nhập số thứ hai. 25
LCM của 10 và 25 là 50

LCM của hai số trong Python sử dụng đệ quy

Chúng ta cũng có thể sử dụng kỹ thuật đệ quy để tìm lcm của hai số. Một kỹ thuật xác định phương thức/hàm chứa lệnh gọi đến chính nó được gọi là đệ quy. Hàm/phương thức đệ quy cho phép chúng ta chia vấn đề phức tạp thành các trường hợp đơn giản giống hệt nhau có thể xử lý dễ dàng. Đây cũng là một kỹ thuật lập trình máy tính nổi tiếng. phân chia và chinh phục

def lcm[x, y, counter=1]:
    if [counter%x == 0 and counter%y == 0]:
        return counter
    return lcm[x, y, counter+1]
2

đầu ra. -

Nhập số đầu tiên. 9
Nhập số thứ hai. 31
LCM của 9 và 31 là 279

Cũng thấy. - Tìm giai thừa của một số trong Python

Nếu bạn thích bài đăng này, hãy chia sẻ nó với bạn bè của bạn. Bạn có muốn chia sẻ thêm thông tin về chủ đề đã thảo luận ở trên hay bạn có thấy điều gì không đúng không? . Cảm ơn bạn

Làm thế nào để bạn tìm thấy LCM với đệ quy?

lcm[a, b]; . .

Lấy hai số a và b làm đầu vào

Lấy một biến khác max và lưu trữ tối đa hai số vào đó

Chạy một vòng lặp while cho đến khi max chia hết cho cả hai số a và b

Tăng giá trị của max lên 1, mỗi lần vòng lặp while được nhập

Làm thế nào để bạn làm LCM trong python?

num1 = int[input["Nhập số đầu tiên. "]] num2 = int[input["Nhập số thứ hai. "]] # in kết quả cho người dùng. print["L. C. M. của", số1,"và", số2,"là", tính toán_lcm[num1, số2]]

Làm cách nào để bạn tìm thấy LCM trong vòng lặp while trong python?

Bước 1. Ban đầu, Nhận 2 Đầu vào Số nguyên từ người dùng bằng cách sử dụng int[input[]]. Bước 2. Tìm số lớn hơn bằng cách sử dụng điều kiện Nếu và gán nó cho biến 'max'. Bước 3. Trong vòng lặp while, Sử dụng điều kiện If để kiểm tra xem phần còn lại của [max% a] và [max% b] có bằng 0 hay không

Chủ Đề