Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Các thủ thuật liên quan đến xử lý chuỗi và thời gian
Đăng trả lời
Hình đại diện của thành viên
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: Thứ 4 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 32 times
Tiếp xúc:

Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by clarkkent »

Thủ thuật: Tìm ước số chung lớn nhất
Tác giả: Nguyễn Trung Tín
Mô tả: hàm tìm ước số chung lớn nhất

Có 2 cách
Cách 1:

Mã: Chọn tất cả

Function USCLN1(A As Integer, B As Integer) As IntegerWhile A <> 0 And B <> 0    Dim t As Integer    t = A: A = B: B = t Mod BWendUSCLN1 = A + BEnd Function
Cách 2:

Mã: Chọn tất cả

Function USCLN2(A As Integer, B As Integer) As IntegerWhile A <> 0 And B <> 0If A >= B Then    A = A - BElse    B = B - AEnd IfWendUSCLN2 = A + BEnd Function
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...
Hình đại diện của thành viên
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: Thứ 4 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 32 times
Tiếp xúc:

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by clarkkent »

Thủ thuật: Tìm bội số chung nhỏ nhất
Tác giả: Nguyễn Trung Tín
Mô tả: hàm bội số chung nhỏ nhất

Cần phải có 1 trong 2 hàm tìm USCLN ở trên

Mã: Chọn tất cả

Function BSCNN(A As Integer, B As Integer) As IntegerDim ka, kb As Integerka = (A * B): kb = USCLN1(A, B)BSCNN = ka / kbEnd Function
Không biết có cách nào gọn hơn???
Project:
USCLN_BSCNN.rar
Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất
(1.37 KiB) Đã tải về 1584 lần
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...
Hình đại diện của thành viên
Kasper
Guru
Guru
Bài viết: 1063
Ngày tham gia: Thứ 6 16/05/2008 10:54 am
Has thanked: 2 times
Been thanked: 76 times
Tiếp xúc:

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by Kasper »

Mã: Chọn tất cả

 MsgBox USCLN1(10, -5) -> Kết quả là -5  :-/  :-/  
Trong toán học, nếu số nguyên d chia hết số nguyên a thì số d được gọi là của số nguyên a, a được gọi là bội của d. Số nguyên dương d lớn nhất là ước của cả hai số nguyên a, b được gọi là ứơc chung lớn nhất (ƯCLN) của a và b. Trong trường hợp cả hai số nguyên a và b đều bằng 0 thì chúng không có ƯCLN vì khi đó mọi số tự nhiên khác không đếu là ước chung của a và b. Nếu chỉ một trong hai số a hoặc b bằng 0, số kia khác không thì ƯCLN của chúng bằng giá trị tuyệt đối của số khác không.
Theo Wikipedia
Tìm USCLN như trên mà đi thi là 1 điểm rồi :D
Lành tợ tòng, ác tợ hoa,
Nhà hòa muôn việc đều nên.
set.8x
Bài viết: 1
Ngày tham gia: Thứ 3 31/03/2009 7:28 pm

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by set.8x »

Cho em hỏi:Cái WEnd trong hàm là sao vậy.Viết sai bét hết,nếu cho hai số a=4,b=5 ,thì uscln=5.Tại sao lại vây.Thử chạy thuật toán bằng tay coi các anh chị
Hình đại diện của thành viên
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: Thứ 4 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 32 times
Tiếp xúc:

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by clarkkent »

set.8x đã viết:Cho em hỏi:Cái WEnd trong hàm là sao vậy.Viết sai bét hết,nếu cho hai số a=4,b=5 ,thì uscln=5.Tại sao lại vây.Thử chạy thuật toán bằng tay coi các anh chị
- Đó là vòng lặp
- Sao bằng 5 được, bạn thử lại coi

- Cái này là mình mới học toán rời rạc rồi mình dựa vào công thức để viết ra thôi, chưa có kiểm tra mấy cái dk ji ji đó :P
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...
Hình đại diện của thành viên
xuanquy_th
Guru
Guru
Bài viết: 803
Ngày tham gia: Thứ 3 05/08/2008 9:15 pm
Đến từ: Thanh Hoá
Has thanked: 1 time
Been thanked: 10 times
Tiếp xúc:

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by xuanquy_th »

Mã: Chọn tất cả

 'Nếu tôi tìm theo các này thì có được không?    'Gia lap mang cac so can tim    Dim md(1)  As Integer    Dim i As Integer, j As Integer    For i = 0 To UBound(md)        md(i) = (Rnd * 100)    Next i    'Xac dinh cac dieu kien de tin USCLN va BSCNN    Dim mMin As Integer, mMax As Integer, mTich As Long    mTich = 1: mMin = md(0): mMax = md(0)    For i = 0 To UBound(md)        If mMin > md(i) Then mMin = md(i)        If mMax < md(i) Then mMax = md(i)        mTich = mTich * md(i)    Next i    'Tim USCLN    Dim mUSCLN As Integer, flg As Boolean    For i = 1 To mMin        flg = True        For j = 0 To UBound(md)            flg = (flg And (md(j) Mod i = 0))        Next j        If flg Then mUSCLN = CInt(i)    Next i    'Tim BSCNN    Dim mBSCNN As Integer    For i = mMax To mTich        flg = True        For j = 0 To UBound(md)            flg = (flg And (i Mod md(j) = 0))        Next j        If flg Then mBSCNN = CInt(i): Exit For    Next i    MsgBox "USCLN la: " & mUSCLN & Space(20) & "BSCNN la: " & mBSCNN
Khi Chúa Trời đóng cánh cửa này lại, Ngài sẽ mở một cánh cửa khác cho ta.
Nhưng ta thường nhìn quá lâu vào cánh cửa đã đóng nên không thấy được có một cánh cửa khác đang mở ra cho ta!!!
duongtao
Bài viết: 4
Ngày tham gia: Thứ 2 01/10/2012 9:26 pm

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by duongtao »

mình vừa hoc vb6,thấy câu lệnh bài này mình thật sự khó hiểu.ai giải thích dùm mình tại sao a=a-b else b=b-a thì lại tìm dc ước chung của 2 số.
Hình đại diện của thành viên
dazzlingvit
Guru
Guru
Bài viết: 960
Ngày tham gia: Thứ 3 18/01/2011 10:21 am
Đến từ: Sinh ra từ hư vô, sống trong thế giới ảo...
Has thanked: 6 times
Been thanked: 112 times
Tiếp xúc:

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by dazzlingvit »

Dazzling V.I.T
Hãy gọi tôi là vịt :)
never19
Bài viết: 2
Ngày tham gia: Thứ 3 08/05/2012 12:13 pm

Re: Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất

Gửi bài by never19 »

Mấy a cho e hỏi nếu Tìm ước số chung lớn nhất và Bội số chung nhỏ nhất của 3 số thì phải làm thế nào?
Đăng trả lời

Quay về