Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Giúp các bé đáng thương ấy với

Gameshow “Ai Là Triệu Phú” trên VTV đang chờ đón bạn – Tải ngay!

Tuyển uploader dự án Safeshared có thu nhập

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Tin tức công nghệ mới nhất

Tuyển Mod box Mobile
Trang 1/2 1 2 cuốicuối
kết quả từ 1 tới 15 trên 16
  1. #1
    votien6's Avatar
    votien6 vẫn chưa có mặt trong diễn đàn Búa Đá
    Tham gia
    Dec 2009
    Bài
    67
    Cảm ơn
    16
    Điểm
    14/9 bài viết

    Default UCLN và BCNN của hai số a và ?

    anh chị nào biết viết chương trình pascal tìm UCLN và BCNN của 2 số a và b chỉ em với(CÔNG THỨC càng nâng cao càng khó hiểu càng logic thì càng tốt

  2. #2
    thecuong064's Avatar
    thecuong064 vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Jun 2011
    Đến từ
    Hacker's Home
    Bài
    936
    Cảm ơn
    133
    Điểm
    415/259 bài viết

    Default

    Trích votien6 View Post
    anh chị nào biết viết chương trình pascal tìm UCLN và BCNN của 2 số a và b chỉ em với(CÔNG THỨC càng nâng cao càng khó hiểu càng logic thì càng tốt
    Không biết có đúng yêu cầu của bạn được không nữa. Bài mình đơn giản lắm.
    À mà các coder đều mong code mình được chuẩn hoá, càng dễ hiểu càng tốt chứ sao bạn lại đòi khó hiểu nhỉ.
    Code:
    PROGRAM TimUCLN_BCNN;
            VAR ucln,bcnn:REAL;a,b:INTEGER;
    
            FUNCTION Tim_UCLN(x,y:INTEGER):REAL;
                    VAR tam:INTEGER;
                    BEGIN
                            WHILE y <> 0 DO
                                    BEGIN
                                            tam:=x MOD y;
                                            x:=y;
                                            y:= tam;
                                    END;
                            Tim_UCLN:=x;
                    END;
                    Begin
                    write('Nhap vao a,b: '); readln(a,b);
                    ucln:=Tim_UCLN(a,b);
                    writeln('UCLN = ',ucln:0:0);
                    bcnn:=a*b/ucln;
                    writeln('BCNN = ',bcnn:0:0);
    readln;        
    END.
    Thay đổi nội dung bởi thecuong064; 28-08-2011 lúc 13:19.

  3. Có 1 thành viên cảm ơn thecuong064 cho bài viết này:
    votien6 (30-08-2011)

  4. #3
    btn1995's Avatar
    btn1995 vẫn chưa có mặt trong diễn đàn Rìu Sắt Đôi
    Tham gia
    Feb 2011
    Đến từ
    Đà Nẵng
    Bài
    294
    Cảm ơn
    217
    Điểm
    139/101 bài viết

    Default

    Code:
    Var a,b: integer;
    aa,bb:=integer;
    Begin
    Write('Nhap a,b'); Writeln(a,b);
    aa:=a; bb:=b;
    While aa<>bb do
    Begin
     If aa>bb then aa:=aa-bb 
     Else bb:=bb-aa;
    End;
     Write('UCLN',aa);
     Write('BCNN,'a*b div aa);
     Readln;
    End.

  5. Có 1 thành viên cảm ơn btn1995 cho bài viết này:
    votien6 (30-08-2011)

  6. #4
    auauau97's Avatar
    auauau97 vẫn chưa có mặt trong diễn đàn Rìu Chiến Vàng
    Tham gia
    Jun 2010
    Đến từ
    Hà Nội
    Bài
    6.651
    Cảm ơn
    11.934
    Điểm
    5.260/3.016 bài viết

    Default

    1 cách khác:

    Code:
    Uses crt;
    Var
      a,b,b:longint;
    Begin 
      Readln(a,b);
      b:=a*b;
      If a<0 then a:=-a;
      If b<0 then b:=-b;
      While (a<>0) and (b<>0) do
        Begin
          If a>b then a:=a mod b
          Else b:=b mod a;
        End;
      Writeln(a+b);
      Writeln(b div (a+b));
    End;
    Thay đổi nội dung bởi auauau97; 28-08-2011 lúc 20:54.
    Nothing is true, everything is permitted

  7. Có 1 thành viên cảm ơn auauau97 cho bài viết này:
    votien6 (30-08-2011)

  8. #5
    thecuong064's Avatar
    thecuong064 vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Jun 2011
    Đến từ
    Hacker's Home
    Bài
    936
    Cảm ơn
    133
    Điểm
    415/259 bài viết

    Default

    Đấy là những bài làm cho cùng 1 đề bài, bạn chọn cái nào phù hợp với mình nhé. Mà mình thấy chuẩn nhất là của auauau97 đấy

  9. #6
    ntcuong35's Avatar
    ntcuong35 vẫn chưa có mặt trong diễn đàn Rìu Bạc Đôi
    Tham gia
    Sep 2009
    Đến từ
    Tây Ninh
    Bài
    560
    Cảm ơn
    116
    Điểm
    455/225 bài viết

    Default

    Nói về mặt dể đọc, dể hiểu thì code của bạn thecuong là ok. Nói về mặt đánh giá thuật toán thì thuật toán của bạn btn tốt hơn.
    Thay đổi nội dung bởi ntcuong35; 28-08-2011 lúc 21:09.
    Hoàng Sa - Trường Sa - Việt Nam

  10. #7
    danhuy's Avatar
    danhuy vẫn chưa có mặt trong diễn đàn Búa Đá
    Tham gia
    Aug 2008
    Bài
    51
    Cảm ơn
    2
    Điểm
    15/14 bài viết

    Default

    Cái thuật toán bạn btn1995 dùng là thuật toán kinh điển rồi, đấy là thuật toán tốt nhất không cần ban cãi

  11. #8
    auauau97's Avatar
    auauau97 vẫn chưa có mặt trong diễn đàn Rìu Chiến Vàng
    Tham gia
    Jun 2010
    Đến từ
    Hà Nội
    Bài
    6.651
    Cảm ơn
    11.934
    Điểm
    5.260/3.016 bài viết

    Default

    Trích danhuy View Post
    Cái thuật toán bạn btn1995 dùng là thuật toán kinh điển rồi, đấy là thuật toán tốt nhất không cần ban cãi
    Thuật toán tốt nhất thì mình nghĩ vẫn chưa chắc, nhỡ a,b lớn cỡ như 1000 và 1 thì trừ khá lâu...
    không biết ý kiến các bạn thế nào ?
    Nothing is true, everything is permitted

  12. #9
    thecuong064's Avatar
    thecuong064 vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Jun 2011
    Đến từ
    Hacker's Home
    Bài
    936
    Cảm ơn
    133
    Điểm
    415/259 bài viết

    Default

    Trích auauau97 View Post
    Thuật toán tốt nhất thì mình nghĩ vẫn chưa chắc, nhỡ a,b lớn cỡ như 1000 và 1 thì trừ khá lâu...
    không biết ý kiến các bạn thế nào ?
    Mình đồng ý với auauau97 đấy. Tuỳ từng bài làm có nhưng ưu điểm và nhược điểm của các thuật toán thôi. Đừng vội kết luận là thuật toán nào là nhất.

  13. #10
    firefoxvt's Avatar
    firefoxvt vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Apr 2008
    Bài
    864
    Cảm ơn
    205
    Điểm
    345/197 bài viết

    Default

    Bài của bạn btn1995 mình sửa thế này
    Code:
    USES crt;
    VAR a,b,c:INTEGER;
    BEGIN
        clrscr;
        writeln('nhap vao 2 so a va b: ');readln(a,b);  
        c:=a*b;
        WHILE a<>b DO 
        BEGIN
            IF a>b THEN a:=a-b
            ELSE b:=b-a;
        END;
        writeln('UCLN la: ',a);  
        writeln('BCNN la: ',c DIV a);
        readln
        END.
    Bài của bạn btn khi tìm BCNN thì biến a và b đã thay đổi, mình edit lại tí

  14. #11
    happyboy99x's Avatar
    happyboy99x vẫn chưa có mặt trong diễn đàn Rìu Bạc Đôi
    Tham gia
    May 2011
    Bài
    523
    Cảm ơn
    457
    Điểm
    234/152 bài viết

    Default

    Code:
    function UCLN (a,b:integer):integer;
    begin
      if a mod b = 0 then exit (b) else exit(UCLN(b,a mod b));
    end;
    function BCNN(a,b:integer):longint;
    begin
      exit(a*b div UCLN(a,b));
    end;

  15. #12
    thecuong064's Avatar
    thecuong064 vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Jun 2011
    Đến từ
    Hacker's Home
    Bài
    936
    Cảm ơn
    133
    Điểm
    415/259 bài viết

    Default

    Trích happyboy99x View Post
    Code:
    function UCLN (a,b:integer):integer;
    begin
      if a mod b = 0 then exit (b) else exit(UCLN(b,a mod b));
    end;
    function BCNN(a,b:integer):longint;
    begin
      exit(a*b div UCLN(a,b));
    end;
    Cái đó là gì vậy bạn

  16. #13
    Tung_Huynh's Avatar
    Tung_Huynh vẫn chưa có mặt trong diễn đàn Cống hiến cho [V-Z]
    Tham gia
    Jul 2009
    Đến từ
    Thái Nguyên
    Bài
    6.777
    Cảm ơn
    1.540
    Điểm
    4.130/2.750 bài viết

    Default

    Trích thecuong064 View Post
    Cái đó là gì vậy bạn
    Tính UCLN và BCNN đó
    ghi rõ function thây

  17. #14
    hoangkent14's Avatar
    hoangkent14 vẫn chưa có mặt trong diễn đàn Búa Gỗ Đôi
    Tham gia
    Sep 2008
    Đến từ
    Vĩnh Phúc, Vietnam, Vietnam
    Bài
    27
    Cảm ơn
    17
    Điểm
    3/3 bài viết

    Default

    UCLN (a,b) = UCLN (b,r) trong đó r = số dư của phép chia a:b
    BCNN = (a x b) : UCLN
    M thấy bài của bạn cuong làm chuẩn rồi đó

  18. #15
    happyboy99x's Avatar
    happyboy99x vẫn chưa có mặt trong diễn đàn Rìu Bạc Đôi
    Tham gia
    May 2011
    Bài
    523
    Cảm ơn
    457
    Điểm
    234/152 bài viết

    Default

    Rõ ràng vậy rồi còn gì nữa, function hẳn hoi.

 

 
Trang 1/2 1 2 cuốicuối

Quyền sử dụng

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể tự sửa bài viết của mình
  •