LIÊN KẾT WEBSITE

THƯ VIỆN BÀI VIẾT

ĐIỂM TIN CÁC BÁO

LIÊN KẾT WEBSITE

Hình Ảnh

NON NƯỚC VIỆT NAM

Ảnh ngẫu nhiên

Valentine11.swf Thieprong.swf Tinh_ca_CR.swf Bay_giua_ngan_ha.swf Daythonvyda.swf Mung_Giang_Sinh_20104.flv 201120101.swf USB.bmp Dtichhinhtron.swf Dtichelip.swf Goc_o_tam.swf Dtich_hinhquat.swf Dong_ho_dem_nguoc_15_giay.swf DirectedLine.swf Cylinder.swf Dtich_hchunhat.swf Dien_tich_xung_quanh_cua_hinh_tru_.swf Degenerate.swf EquilateralTriangle.swf EqUnitCircle.swf

VUI MỪNG CHÀO ĐÓN

0 khách và 0 thành viên

Thống kê

  • lượt truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Hổ trợ Trực tuyến

    • (chithu1980)

    Sắp xếp dữ liệu

    Chào mừng quý vị đến với Trần Chí Thu- Blog Tin Học.

    Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tư liệu của Thư viện về máy tính của mình.
    Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay ô bên phải.
    Gốc > Góc Lập Trình Pascal > Thuật Toán >

    Thuật toán Euclid mở rộng (Tìm UCLN)

    Thuật toán Euclid mở rộng sẽ tìm USCLN d của a và b, đồng thời tìm được cả hai số nguyên x, y trong phần 2.3

    Thuật toán Euclid mở rộng có thể diễn đạt bằng đệ quy như sau:

    procedure ee(a, b, var x, var y);

    var

         x2,y2;

    begin

         if (a<b) then

              ee(b, a, x, y)

         else if (b=0) then

         begin

              x:=1;

              y:=0;

         end else

         begin

              ee(b, a mod b, x2, y2);

              x:=y2;

              y:=x2-(a div b)*y2;

         end;

    end;

    Giải thích:

    Từ 2.1, ta đã biết (a, b) = (b, r) = d

    ee(a, b, var x, var y) trả về giá trị x, y sao cho ax + by = d

    Dòng lệnh màu đỏ chạy thủ tục đệ quy: tìm x2, y2 sao cho:

    bx2 + ry2 = d

    Mặt khác:

    r = a – bq

    Với

    r=a mod b

    q=a div b

    Do đó

    bx2 + (a-bq)y2 = d

    ay2 + b(x2 – qy2) = d

    Vậy

    x = y2

    y = x2 – qy2

    Cấu trúc đệ quy của thuật toán Euclid mở rộng cũng tương tự như thuật toán Euclid.

    2.5. Một số tính chất

    Giả sử

    a = p1a1p2a2...pkak

    b = p1b1p2b2...pkbk

    Định nghĩa:

    USCLN: (a, b) = p1min(a1, b1)p2min(a2, b2)...pkmin(ak, bk)

    BSCNN: [a, b] = p1max(a1, b1)p2max(a2, b2)...pkmax(ak, bk)

    Tính chất:

    • (a, b) x [a, b] = ab
    •  (a, b, c) = ((a, b), c) = (a, (b, c))
    • [a, b, c] = [[a, b], c] = [a, [b, c]]

    Chú ý:

    • Không có đẳng thức (a, b, c) [a, b, c]  = abc

    2.6. Bài tập

    Cho dãy số nguyên dương n phần tử a1, a2, ..., an.

    Yêu cầu:

    Tìm dãy con liên tiếp dài nhất có USCLN > 1


    Trần Chí Thu @ 10:44 30/05/2009
    Số lượt xem: 1305
     
     
    Gửi ý kiến
    print