Trang 33 / 34 FirstFirst ... 283031323334 LastLast
Hiển thị kết quả từ 321 đến 330 / 334
  1. #321
    Tham gia
    07-09-2014
    Bài viết
    12
    Like
    3
    Thanked 3 Times in 3 Posts
    Làm thế nào tìm đc 2 snt liên tiếp ????!!!!!!!!!!!!!!!!!!

  2. Thành viên Like bài viết này:


  3. #322
    Tham gia
    07-09-2014
    Bài viết
    12
    Like
    3
    Thanked 3 Times in 3 Posts

    SNT Ghep!!! AE tham khảo!! nhớ tks nhé!

    var a : array[1..600]of qword;
    f : array[1..600]of byte;
    k : integer;
    f1,f2 : text;
    function ktra(x:qword):boolean;
    var i : longint;
    begin
    if (x=2)or(x=3)then exit(true) else
    begin
    for i:=2 to trunc(sqrt(x)) do
    if x mod i = 0 then exit(false);
    exit(true);
    end;
    end;
    function hop(x,y:qword):qword;
    var s1,s2 : string;
    begin
    str(x,s1);
    str(y,s2);
    s1:=s1+s2;
    val(s1,hop);
    end;
    procedure xuli;
    var i,j : longint;
    s,x,y : int64;
    begin
    a[1]:=2;
    j:=1;
    i:=3;
    fillchar(f,sizeof(f),0);
    x:=2;
    while f[k]<>1 do
    begin
    if ktra(i) then
    begin
    inc(j);
    a[j]:=i;
    s:=hop(a[j-1],a[j]);
    if f[j-1]=0 then
    begin
    if ktra(s) then
    begin
    a[j-1]:=s;
    f[j-1]:=1;
    j:=j-1;
    end else j:=j-2;
    end;
    end;
    i:=i+2;
    end;
    write(f2,a[k]);
    close(F2);
    end;
    begin
    assign(f1,'');reset(F1);
    assign(F2,'');rewrite(F2);
    readln(f1,k);
    xuli;
    end.

    - - - Updated - - -

    Viết chương trình nhập vào 1 số la mã rồi biến đổi thành số thập phân.

  4. Thành viên Like bài viết này:


  5. #323
    Tham gia
    07-09-2014
    Bài viết
    12
    Like
    3
    Thanked 3 Times in 3 Posts

    Bài 12: đọc số la mã

    Viết chương trình nhập vào 1 số la mã rồi biến đổi thành số thập phân.

  6. #324
    Tham gia
    07-09-2014
    Bài viết
    12
    Like
    3
    Thanked 3 Times in 3 Posts

    Số la mã

    Var st:string;
    so,i:longint;
    Begin
    Write(' Nhap so la ma: ');Readln(st);
    so:=0;
    For i:=1 to length(st) do
    st[i]:=upcase(st[i]);
    For i:=1 to length(st) do
    {['I'=1,'V'=5,'X'=10,'L'=50,'C'=100,'D'=500,'M'=1000
    ,'IV'=4,'IX'=9,'XL=40','XC'=90,'CD'=400,'CM'=900] }
    Begin

    If (st[i]='I') and (st[i+1] <>'V') and (st[i+1]<>'X') then so:=so+1;
    If (st[i]='V') and (st[i-1] <>'I') then so:=so+5;
    If (st[i]='X') and (st[i-1]<>'I') and (st[i+1]<>'L') and (st[i+1]<>'C')
    then so:=so+10;
    If (st[i]='L') and (st[i-1]<>'X') then so:=so+50;
    If (st[i]='C') and (st[i-1]<>'X') and (st[i+1] <>'D') and (st[i+1] <>'M')
    then so:=so+100;
    If (st[i]='D') then so:=so+500;
    If (st[i]='M') and (st[i-1]<>'C') then so:=so+1000;


    If (st[i]='I') and (st[i+1]='V') then so:=so+4;
    If (st[i]='I') and (st[i+1]='X') then so:=so+9;
    If (st[i]='X') and (st[i+1]='L') then so:=so+40;
    If (st[i]='X') and (st[i+1]='C') then so:=so+90;
    If (st[i]='C') and (st[i+1]='D') then so:=so+400;
    If (st[i]='C') and (st[i+1]='M') then so:=so+900;
    End;
    Writeln(' So da chuyen la:',so);
    Readln
    End.

  7. #325
    Tham gia
    13-08-2012
    Location
    Vĩnh Cửu, Đồng Nai
    Bài viết
    95
    Like
    9
    Thanked 9 Times in 8 Posts

    Số La mã 2

    Chương trình chuyển đổi số La mã sang thập phân:

    Code:
    {--------------------------------------------------------------------------}
    PROGRAM ROMAN_DECIMA_CONVERT;
    VAR 
        RomanNumber :String; {Dùng để test}
    {--------------------------------------------------------------------------}
    {Đổi toàn bộ chữ thường ra chữ hoa}
    function Upper (Text :String) :String;
    var
        i :Integer;
    begin
        for i := 1 to Length (Text) do Text [i] := UpCase (Text [i]);
        Upper := Text;
    end;  {Upper}
    {--------------------------------------------------------------------------}
    {Mô tả: 
    function Roman2Dec (Roman :String) :Integer;
    - Hàm đổi chữ số La mã sang hệ thập phân.
    - Vào: Roman : Chữ số La mã (String);
    - Ra : Chữ số ở hệ thập phân (Integer).
    - Chữ số La mã:
        I = 1
        V = 5
        X = 10
        L = 50
        C = 100
        D = 500
        M = 1000
     
    - Xác định giá trị:
    + Xác định từ chữ số nào lớn nhất, sau đến chữ số nhỏ hơn:
       ( M ->D ->C ->L ->X ->V ->I )
    + Giống nhau thì nhân đôi, nhân ba ...
    + Khác nhau thì: Chữ số nhỏ hơn:
       ~Đứng ở bên trái làm giảm giá trị của chữ số lớn hơn ở bên phải
       ~Đứng ở bên phải làm tăng giá trị của chữ số lớn hơn ở bên trái
    + VD: MMXIV = 2014
        .Lớn nhất MM = 1000*2=2000
        .Lớn tiếp theo: X=10
        .Lớn tiếp theo: V=5
        .Lớn tiếp theo: I=1
        .I bên trái V: 5-1=4;
        .IV bên phải X: 10+4=14
        .XIV bên phải MM: 2000+14=2014
    }
    
    function Roman2Dec (Roman :String) :Integer;
    const
        RomanChar = 'IVXLCDM'; {Bảng ký tự chữ số La mã: 7 ký tự}
        {Và giá trị tương ứng trong chữ số thập phân:}
        RomanValue :Array [1..7] of Integer = (1, 5, 10, 50, 100, 500, 1000); 
    var
        i   :Byte;    {Xử lý trên từng ký tự số La mã}
        sum :Integer; {Biến tạm, chứa giá trị thập phân}
    begin
        sum := 0; {Chú ý: Phải khởi tạo giá trị trước cho biến=0, nếu không kết quả sai}
        Roman := Upper (Roman); {Ra chữ Hoa}
        i := Length (Roman);   
        while (i >= 1) do
            begin
                if (i > 1) then
                    begin
                        if (Pos (Roman [i], RomanChar) <= (Pos (Roman [i-1], RomanChar))) then
                            begin
                                sum := sum + RomanValue [Pos (Roman [i+0], RomanChar)];
                                Dec (i);
                            end
                        else
                            begin
                                sum := sum + RomanValue [Pos (Roman [i+0], RomanChar)];
                                sum := sum - RomanValue [Pos (Roman [i-1], RomanChar)];
                                Dec (i, 2);
                            end;
                    end
                else
                    begin
                        sum := sum + RomanValue [Pos (Roman [1], RomanChar)];
                        Dec (i);
                    end;
            end; {while}
        Roman2Dec := sum; {Kết quả}
    end; {Roman2Dec}
    {----------------------------Chương trình chính----------------------------}
    BEGIN
        {
        Write ('Nhap vao so La ma: ');
        ReadLn (RomanNumber); {cần kiểm tra có phải là số La mã}
        WriteLn ('So La ma ', RomanNumber,' qua He 10 la: ', Roman2Dec (RomanNumber));
        ReadLn;
        }
        
        RomanNumber := 'XXI'; {=21; --->Thay đổi giá trị để test...}
        WriteLn ('So La ma ', RomanNumber,' qua He 10 la: ', Roman2Dec (RomanNumber));    
        {Dùng trực tiếp: Roman2Dec ('XXI');}
        ReadLn;
    END.
    {2014/12/19}
    {--------------------------------------------------------------------------}
    Được sửa bởi ada95 lúc 11:50 ngày 19-12-2014
    Life - Love - Freedom

  8. 2 thành viên Like bài viết này:


  9. #326
    Tham gia
    30-07-2012
    Location
    VuaTenMien.Com - Mua bán Tên Miền
    Bài viết
    3,743
    Like
    160
    Thanked 259 Times in 233 Posts
    Các bác đang học 11 vào www.ThuatToan.net mà tham khảo, em thấy có nhiều thuật toán hay
    www.VuaTenMien.Com, Mobi & Zalo:O9121Chín1357

  10. #327
    Tham gia
    15-02-2016
    Bài viết
    62
    Like
    49
    Thanked 0 Times in 0 Posts
    Giả sử có N hộp giấy, các hộp được đánh số từ 1 đến N. Với mỗi hộp giấy, bé Ri biết được chính xác độ dài hai cạnh đáy của hộp là a và b.
    Yêu cầu: Hãy giúp bé Ri xếp các hộp sao cho số lượng các hộp lồng vào nhau là lớn nhất.
    Dữ liệu vào: Cho trong file văn bản XEPHOP.INP, có cấu trúc như sau:
    - Dòng 1: Ghi số nguyên dương N, là số lượng hộp giấy. (1 ≤ N ≤ 1000)
    - N dòng tiếp theo: Mỗi dòng ghi hai số nguyên dương ai bi, là độ dài hai cạnh đáy của hộp giấy thứ i. (1 ≤ ai, bi ≤ 32767)
    Dữ liệu ra: Ghi ra file văn bản XEPHOP.OUT theo cấu trúc như sau:
    - Dòng 1: Ghi số nguyên dương M là số lượng các hộp giấy lồng nhau tìm được.
    - Dòng 2: Ghi M số nguyên dương, là chỉ số của M hộp giấy theo thứ tự từ ngoài vào trong của một cách xếp hộp.
    Ví dụ:
    XEPHOP.INP
    5
    1 5
    5 7
    6 4
    3 6
    2 5
    XEPHOP.OUT
    3
    2 3 5

    có thể có các kết quả khác cũng đc miễn là nó đúng với đề bài
    các bác giúp em bài này với
    Được sửa bởi hoangbit lúc 07:44 ngày 16-02-2016

  11. #328
    Tham gia
    15-02-2016
    Bài viết
    62
    Like
    49
    Thanked 0 Times in 0 Posts
    mấy bài này minh cũng đang làm nhưng chưa ra.
    Được sửa bởi hoangbit lúc 23:01 ngày 16-02-2016

  12. #329
    Tham gia
    27-01-2016
    Location
    THCS Phan Đăng Lưu
    Bài viết
    57
    Like
    1
    Thanked 92 Times in 39 Posts
    khó đấy...đề thi tin cấp gì vậy ?

  13. #330
    Tham gia
    15-02-2016
    Bài viết
    62
    Like
    49
    Thanked 0 Times in 0 Posts
    đề cấp tỉnh.mình làm mãi 2 hôm nay rồi

Trang 33 / 34 FirstFirst ... 283031323334 LastLast

Bookmarks

Quy định

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