Hiển thị kết quả từ 1 đến 8 / 8
  1. #1
    Tham gia
    19-03-2011
    Bài viết
    404
    Like
    2
    Thanked 38 Times in 35 Posts

    Cần chú ý ! [Tin học 11] Lập trình giải bài toán cổ sau

    Các cao thủ vào lập trình giải bài toán cổ sau:
    "Trăm trâu trăm cỏ
    Trâu đứng ăn 5
    Trâu nằm ăn 3
    Lụ khụ trâu già
    3 con 1 bó
    Hỏi số trâu đứng, trâu nằm, trâu già?"

    Bài này dùng toán học để giải thì cả ngày không xong, dùng Tin học để giải 5' là xong.
    Quote Quote

  2. #2
    Tham gia
    10-12-2004
    Location
    HCMC
    Bài viết
    2,121
    Like
    283
    Thanked 720 Times in 362 Posts
    túm lại là muốn nhờ giải bài tập dùm à?

  3. #3
    Tham gia
    19-03-2011
    Bài viết
    404
    Like
    2
    Thanked 38 Times in 35 Posts
    Quote Được gửi bởi pinochu View Post
    túm lại là muốn nhờ giải bài tập dùm à?
    đưa lên cho các cao thủ lập trình giải, không phải nhờ giải hộ, lập trình 5' là xong

  4. #4
    Tham gia
    10-12-2004
    Location
    HCMC
    Bài viết
    2,121
    Like
    283
    Thanked 720 Times in 362 Posts
    giải 5' thì cần gì phải cao thủ giải, bài này là bài tập cơ bản mà

  5. #5
    Tham gia
    08-11-2012
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    bài này khá đơn giản: đây là trên yahoo answer:
    Gọ số trâu đứng là x;trâu nằm là y; trâu già là z
    Theo đề bài ta có hệ
    x+y+z=100 (1)
    5x+3y+1/3z=100 (2)
    x,y,z thuộc N,x,y,z>=1
    Thế z ở (1) vào (2) ta có pt
    7x+4y=100
    Vì 4 và 100 đều chi hết cho 4 nên để hệ có nghiệm nguyên thì x chia hết cho 4
    Đặt x=4m ta có y = 25-7m
    Vì x,y>=1 nên 1<=m<=3
    Với m=1 => x=4;y=18;z=78
    Với m= 2 ta có x=8;y=11;z=81
    Với m=3 ta có x=12 ; y=4 ; z=84

    Trong lập trình ta dùng vòng lặp để dò nghiệm:
    for x:=1 to 100 then
    for y:=1 to 100 then
    for z:=1:to 100 then
    if(x+y+z==100 And 5x+3y+1/3z=100)
    begin
    write('trau dung: ',x ,'trau nam: ',y, ' trau gia: ',z);
    writeln;
    end;


    vậy là xong

  6. #6
    Tham gia
    19-03-2011
    Bài viết
    404
    Like
    2
    Thanked 38 Times in 35 Posts
    Quote Được gửi bởi sinh_vien_ngheo View Post
    bài này khá đơn giản: đây là trên yahoo answer:
    Gọ số trâu đứng là x;trâu nằm là y; trâu già là z
    Theo đề bài ta có hệ
    x+y+z=100 (1)
    5x+3y+1/3z=100 (2)
    x,y,z thuộc N,x,y,z>=1
    Thế z ở (1) vào (2) ta có pt
    7x+4y=100
    Vì 4 và 100 đều chi hết cho 4 nên để hệ có nghiệm nguyên thì x chia hết cho 4
    Đặt x=4m ta có y = 25-7m
    Vì x,y>=1 nên 1<=m<=3
    Với m=1 => x=4;y=18;z=78
    Với m= 2 ta có x=8;y=11;z=81
    Với m=3 ta có x=12 ; y=4 ; z=84

    Trong lập trình ta dùng vòng lặp để dò nghiệm:
    for x:=1 to 100 then
    for y:=1 to 100 then
    for z:=1:to 100 then
    if(x+y+z==100 And 5x+3y+1/3z=100)
    begin
    write('trau dung: ',x ,'trau nam: ',y, ' trau gia: ',z);
    writeln;
    end;


    vậy là xong
    Hệ 2 phương trình 3 ẩn chính xác phải là:
    x+y+z=100
    5x+3y+z/3=100

    Cách giải như sau:
    Gọi số trâu đứng là i, trâu nằm là j, trâu già là k, ta được hệ 2 phương trình 3 ẩn:
    i+j+k=100
    5i+3j+k/3=100
    Vì phải có ít nhất 1 con trâu đứng, 1 con trâu nằm, 3 con trâu già nên lập trình bằng Pascal có thuật giải (giải thuật) như sau:
    for i:=1 to 96 do
    for j:=1 to 96 do
    for k:=1 to 98 do if (i+j+k=100) and (5*i+3*j+k/3=100) then
    writeln('So trau dung la: ',i,' ;So trau nam la: ',j,' ;So trau gia la: ',k);

    Chắc không cần viết chương trình hoàn thiện?
    Được sửa bởi isecret lúc 14:57 ngày 09-11-2012

  7. #7
    Tham gia
    29-06-2011
    Bài viết
    24
    Like
    1
    Thanked 12 Times in 12 Posts
    var x,y,z:integer;
    begin
    for x:=1 to 100 do
    for y:=1 to 100 do begin
    z:=100-x-y;
    if ((5*x+3*y+z/3)=100) then
    writeln('Trau dung: ',x:3,' . Trau nam: ',y:3,' . Trau gia: ',z:3);
    end;
    end.

  8. #8
    Tham gia
    07-01-2009
    Location
    Khánh Hoà
    Bài viết
    40
    Like
    0
    Thanked 1 Time in 1 Post
    Có bài này đang bí nè! ai biết chỉ bảo với:
    Viết chương trình in ra các số nguyên từ 1 đến N^2 theo hình xoắn ốc với N được nhập vào từ bàn phím. Ví dụ, với N=5 ta có:
    1 2 3 4 5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9

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
  •