Trong chương trình này, bạn sẽ học cách tìm LCM của hai số và hiển thị nó.
Để 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:
- Python trong khi vòng lặp
- Chức năng Python
- Đối số chức năng Python
- Các chức năng do người dùng định nghĩa
Nhiều số ít nhất [L.C.M.] của hai số là số nguyên dương nhỏ nhất hoàn toàn chia hết bởi hai số đã cho.
Ví dụ, L.C.M. của 12 và 14 là 84.
Chương trình tính toán LCM
# Python Program to find the L.C.M. of two input number
def compute_lcm[x, y]:
# choose the greater number
if x > y:
greater = x
else:
greater = y
while[True]:
if[[greater % x == 0] and [greater % y == 0]]:
lcm = greater
break
greater += 1
return lcm
num1 = 54
num2 = 24
print["The L.C.M. is", compute_lcm[num1, num2]]
Đầu ra
The L.C.M. is 216
Lưu ý: Để kiểm tra chương trình này, hãy thay đổi các giá trị của The L.C.M. is 216
1 và The L.C.M. is 216
2. To test this program, change the values of
The L.C.M. is 2161 and
The L.C.M. is 2162.
Chương trình này lưu trữ hai số trong
The L.C.M. is 2161 và
The L.C.M. is 2162 tương ứng. Những con số này được chuyển đến hàm
The L.C.M. is 2165. Hàm trả về L.C.M của hai số.
Trong hàm, trước tiên chúng tôi xác định số lượng lớn hơn của hai số kể từ L.C.M. 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
The L.C.M. is 2166 vô hạn để đi từ số đó và hơn thế nữa.
Trong mỗi lần lặp, chúng tôi kiểm tra xem cả hai con số hoàn toàn chia số của chúng tôi. 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.
Chương trình trên chậm hơn để chạy. Chúng ta có thể làm cho nó hiệu quả hơn bằng cách sử dụng thực tế là sản phẩm của hai số bằng với sản phẩm của số ước số phổ biến nhất và lớn nhất của hai số đó.
Number1 * Number2 = L.C.M. * G.C.D.
Đây là một chương trình Python để thực hiện điều này.
Chương trình tính toán LCM bằng GCD
# Python program to find the L.C.M. of two input number
# This function computes GCD
def compute_gcd[x, y]:
while[y]:
x, y = y, x % y
return x
# This function computes LCM
def compute_lcm[x, y]:
lcm = [x*y]//compute_gcd[x,y]
return lcm
num1 = 54
num2 = 24
print["The L.C.M. is", compute_lcm[num1, num2]]
Đầu ra của chương trình này giống như trước đây. Chúng tôi có hai chức năng
The L.C.M. is 2167 và
The L.C.M. is 2165. Chúng tôi yêu cầu G.C.D. của các số để tính toán L.C.M.
Vì vậy,
The L.C.M. is 2165 gọi hàm
The L.C.M. is 2167 để thực hiện điều này. G.C.D. của hai số có thể được tính toán hiệu quả bằng thuật toán Euclide.
Nhấn vào đây để tìm hiểu thêm về các phương pháp để tính toán G.C.D trong Python.
Python Basic: Tập thể dục-32 với giải pháp
Viết một chương trình Python để có được nhiều [LCM] ít nhất của hai số nguyên dương.
Từ wikipedia, theo lý thuyết số học và số, bội số ít phổ biến nhất, bội số phổ biến thấp nhất hoặc bội số phổ biến nhỏ nhất của hai số nguyên A và B, thường được biểu thị bằng LCM [A, B], là số nguyên dương nhỏ nhất được chia cho cả hai và B. Vì việc phân chia số nguyên theo 0 không được xác định, định nghĩa này chỉ có ý nghĩa nếu cả A và B đều khác với số không. Tuy nhiên, một số tác giả xác định LCM [A, 0] là 0 cho tất cả A, đó là kết quả của việc lấy LCM là giới hạn trên ít nhất trong mạng của khả năng chia rẽ.
In arithmetic and number theory, the least common multiple, lowest common multiple, or smallest common multiple of two integers a and b,
usually denoted by lcm[a, b], is the smallest positive integer that is divisible by both a and b. Since division of integers by zero is undefined, this definition has meaning only if a and b are both different from zero. However, some authors define lcm[a,0] as 0 for all a, which is the result of taking the lcm to be the least upper bound in the lattice of divisibility.
Trình bày bằng hình ảnh:
Giải pháp mẫu-1:
Mã Python:
def lcm[x, y]:
if x > y:
z = x
else:
z = y
while[True]:
if[[z % x == 0] and [z % y == 0]]:
lcm = z
break
z += 1
return lcm
print[lcm[4, 6]]
print[lcm[15, 17]]
Đầu ra mẫu:
12 255
Flowchart:
Trực quan hóa 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 hiện chương trình đã nói:
Giải pháp mẫu-2:
Sử dụng functools.reduce [], math.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[[12, 7]]]
print[lcm[[1, 3, 4, 5]]]
print[lcm[[4, 6]]]
print[lcm[[15, 17]]]
Đầu ra mẫu:
84 60 12 255
Flowchart:
Trực quan hóa 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 hiện chương trình đã nói:
Giải pháp mẫu-2:
Mã Python:
from fractions import gcd
def lcm[a, b]:
return [a * b] // gcd[a,b]
print[lcm[4, 6]]
print[lcm[15, 17]]
Đầu ra mẫu:
12 255
Flowchart:
Trực quan hóa 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 hiện chương trình đã nói:
Giải pháp mẫu-2:
Sử dụng functools.reduce [], math.gcd [] và lcm [x, y] = x * y / gcd [x, y] trên danh sách đã cho.
Giải pháp mẫu-3: Write a Python program to compute the greatest common divisor [GCD] of two positive integers.
Next: Write a Python program to sum of three given integers. However, if two values are equal sum will be zero.
Python: Lời khuyên trong ngày
Hiểu biết máy phát:
The L.C.M. is 2160