Bội trăn chung nhỏ nhất

Phương thức reduce() sẽ sử dụng ufunc, trong trường hợp này là hàm lcm(), trên mỗi phần tử và giảm mảng đi một chiều

Thí dụ

Tìm ƯCLN của các giá trị của mảng sau

nhập numpy dưới dạng np

mảng = np. mảng([3, 6, 9])

x = np. lcm. giảm (mảng)

in(x)

Tự mình thử »

trả lại. 18 vì đó là bội chung nhỏ nhất của cả ba số (3*6=18, 6*3=18 và 9*2=18)

Trong hướng dẫn sau, chúng ta sẽ tìm hiểu cách tìm Bội số chung nhỏ nhất (LCM) bằng ngôn ngữ lập trình Python

Nhưng trước khi bắt đầu, chúng ta hãy thảo luận ngắn gọn về LCM

LCM. Bội Số Chung Nhỏ Nhất/ Bội Số Chung Nhỏ Nhất

LCM là viết tắt của Bội số chung nhỏ nhất. Đó là một khái niệm về số học và hệ thống số. ƯCLN của hai số nguyên a và b được kí hiệu là ƯCLN (a,b). Đó là số nguyên dương nhỏ nhất chia hết cho cả "a" và "b"

Ví dụ. Ta có hai số nguyên 4 và 6. Cùng LCM tìm hiểu nhé

Bội số của 4 là

Các bội số của 6 là

Các bội số chung của 4 và 6 chỉ đơn giản là các số có trong cả hai danh sách

LCM là bội số chung thấp nhất nên nó là 12

Vì chúng ta đã hiểu khái niệm cơ bản về BCNN, chúng ta hãy xem xét chương trình sau để tìm BCNN của các số nguyên đã cho

Thí dụ

đầu ra

Enter first number: 3
Enter second number: 4
The L.C.M. of 3 and 4 is 12

Giải trình

Chương trình này lưu trữ hai số trong num1 và num2 tương ứng. Những con số này được chuyển đến hàm compute_lcm(). Hàm trả về LCM của hai số

Trong hàm, trước tiên chúng tôi đã xác định số lớn hơn trong hai số vì LCM chỉ có thể lớn hơn hoặc bằng số lớn nhất. Sau đó, chúng tôi sử dụng một vòng lặp vô hạn để đi từ số đó và hơn thế nữa

Trong mỗi lần lặp lại, chúng tôi đã kiểm tra xem cả hai số có chia hết cho số. Nếu vậy, chúng tôi đã lưu số dưới dạng LCM 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

Viết chương trình Python tính Bội số chung nhỏ nhất (LCM) của nhiều hơn hai số. Các số nên được lấy từ một danh sách các số nguyên dương nhất định

Từ Wikipedia,
Trong số học và lý thuyết số, bội chung nhỏ nhất, bội chung nhỏ nhất hoặc bội chung nhỏ nhất của hai số nguyên a và b, thường được ký hiệu là lcm(a, b), là số nguyên dương nhỏ nhất chia hết cho cả a và b. Vì phép chia số nguyên cho 0 là không xác định nên định nghĩa này chỉ có nghĩa nếu a và b đều khác 0. Tuy nhiên, một số tác giả định nghĩa lcm(a,0) là 0 với mọi a, đây là kết quả của việc lấy lcm là cận trên nhỏ nhất trong mạng chia hết

Giải pháp mẫu-1

Mã Python

from functools import reduce
def test(nums):
    return reduce(lambda x,y:lcm(x,y),nums)
def gcd(a, b):
    while b:
        a, b = b, a%b
    return a
def lcm(a, b):
    return a*b // gcd(a, b)
nums = [ 4, 6, 8 ]
print("Original list elements:")
print(nums)
print("LCM of the numbers of the said array of positive integers: ", test(nums))
nums = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
print("\nOriginal list elements:")
print(nums)
print("LCM of the numbers of the said array of positive integers: ", test(nums))
nums = [ 48, 72, 108  ]
print("\nOriginal list elements:")
print(nums)
print("LCM of the numbers of the said array of positive integers: ", test(nums))

Đầu ra mẫu

Original list elements:
[4, 6, 8]
LCM of the numbers of the said array of positive integers:  24

Original list elements:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
LCM of the numbers of the said array of positive integers:  2520

Original list elements:
[48, 72, 108]
LCM of the numbers of the said array of positive integers:  432

Sơ đồ

Bội trăn chung nhỏ nhất

Trực quan hóa việc thực thi mã Python

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


Dung dịch mẫu-2

Sử dụng funcool. giảm (), toán học. gcd() và lcm(x,y) = x * y / gcd(x,y) trên danh sách đã cho

Mã Python

from functools import reduce
from math import gcd

def lcm(numbers):
  return reduce((lambda x, y: int(x * y / gcd(x, y))), numbers)

print(lcm([ 4, 6, 8 ]))  
print(lcm([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])) 
print(lcm([48, 72, 108]))  

Đầu ra mẫu

24
2520
432

Sơ đồ

Bội trăn chung nhỏ nhất

Trực quan hóa việc thực thi mã Python

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 để thay thế cách viết hoa của từng chữ cái trong một chuỗi đã cho và chữ cái đầu tiên của chuỗi đã cho phải là chữ hoa
Kế tiếp. Viết chương trình Python để đảo ngược tất cả các từ có độ dài lẻ

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

thư viện thời gian

Thư viện thời gian cung cấp nhiều chức năng và phương pháp liên quan đến thời gian và rất hữu ích khi biết liệu bạn đang phát triển trang web hay ứng dụng và trò chơi hay làm việc với khoa học dữ liệu hay giao dịch trên thị trường tài chính. Thời gian là điều cần thiết trong hầu hết các hoạt động phát triển và thư viện thời gian tiêu chuẩn của Python rất hữu ích cho việc đó

bội số chung nhỏ nhất là bao nhiêu?

Bội chung nhỏ nhất (LCM) là gì? . ” Bội chung nhỏ nhất được định nghĩa là bội nhỏ nhất mà hai hay nhiều số có điểm chung . Ví dụ. Lấy hai số nguyên 2 và 3. bội số của 2. 2, 4, 6, 8, 10, 12, 14, 16, 18, 20….

Có chức năng LCM trong python không?

Mô-đun toán học trong Python chứa một số phép toán. Trong số một số hàm quan trọng nhất trong mô-đun này là hàm lcm() trả về bội số chung nhỏ nhất của các đối số số nguyên đã chỉ định. Hàm lcm mới được giới thiệu trong Python phiên bản 3. 9 .

Làm cách nào để kiểm tra 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))

LCM nào nhỏ nhất?

Trong số học và lý thuyết số, bội chung nhỏ nhất, bội chung nhỏ nhất hoặc bội chung nhỏ nhất của hai số nguyên a và b, thường được ký hiệu là lcm(a, b), là số nguyên dương nhỏ nhất chia hết cho cả a và b. . Sử dụng phương pháp bảng