Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 20

Chủ đề: bài toán trăm trâu

  1. #1
    Tham gia
    18-01-2009
    Location
    fdgdfg
    Bài viết
    125
    Like
    0
    Thanked 1 Time in 1 Post

    Tệ thật ! bài toán trăm trâu

    đề
    Tram trau tram co
    Trau dung an nam
    Trau nam an ba
    Trau gia an mot

    Tức là 5X+3Y+Z=100. tìm X,Y,Z.

    Code:
    #include <stdio.h>
    #include <conio.h>
    main()
    {
    	clrscr();
    	int i,dung,nam,gia;
    	long int dem=0;
    	for(dung=1;dung<100;dung++)
    	{
    		for(nam=1;nam<100;nam++)
    		{
    			for(gia =1;gia<100;gia++)
    			if((dung*5+nam*3+gia)==100)
    			printf("\ntrau dung: %d; trau nam: %d; trau gia: %d",dung,nam,gia); 
    		}       dem++;
                    
    	}
            printf("\n co %d dap an",dem);
            getch();
    }
    Cho em hỏi tại sao đáp án cứ ra là 99 dù em đếm ko đủ ?
    Quote Quote

  2. #2
    Tham gia
    02-01-2003
    Location
    HCMC
    Bài viết
    258
    Like
    0
    Thanked 1 Time in 1 Post
    trâu đứng ăn năm
    trâu nằm ăn ba
    lụ khụ trâu già
    ba con ăn một bó

    bải phải thêm điều kiện x+y+z=100 nữa chứ nhỉ

  3. #3
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    minh nhjhi con câu : trau già 3 con một bó mà!/
    chính là (z mod 3=0)

  4. #4
    Tham gia
    28-09-2007
    Location
    Vĩnh Yên-Vĩnh Phúc
    Bài viết
    1,167
    Like
    6
    Thanked 14 Times in 12 Posts
    Code:
    #include <stdio.h>
    #include <conio.h>
    main()
    {
    	int dung,nam,gia;
    	int dem=0;
    	for(dung=1;dung<98;dung++)
    	{
    		for(nam=1;nam<99 - dung;nam++)
    		{
    			gia=100 - dung - nam;
    			if( ((dung*5+nam*3+gia/3)==100) && (gia % 3=0))
    			printf("\n trau dung:",dung,", trau nam:",nam,", trau gia:",gia); 
    		}       dem++;
                    
    	}
            printf("\n co",dem," dap an");
            getch();
    }

    [=========> Bổ sung bài viết <=========]

    Quote Được gửi bởi thuonghcm View Post
    minh nhjhi con câu : trau già 3 con một bó mà!/
    chính là (z mod 3=0)
    trong C có mod ư? mới thấy lần đầu.
    Được sửa bởi huysun lúc 09:37 ngày 25-01-2009 Reason: Bổ sung bài viết

  5. #5
    Tham gia
    18-01-2009
    Location
    fdgdfg
    Bài viết
    125
    Like
    0
    Thanked 1 Time in 1 Post
    bộ máy anh chưa làm bài toán này à

  6. #6
    Tham gia
    20-05-2007
    Location
    thị trấn bỏ hoang
    Bài viết
    1,160
    Like
    0
    Thanked 1 Time in 1 Post
    trong câu lệnh for
    thì đứng, nằm, già nhận giá trị từ 0

  7. #7
    Tham gia
    22-12-2007
    Location
    UIT
    Bài viết
    1,488
    Like
    0
    Thanked 1 Time in 1 Post
    Quote Được gửi bởi huysun View Post
    Code:
    #include <stdio.h>
    #include <conio.h>
    main()
    {
    	int dung,nam,gia;
    	int dem=0;
    	for(dung=1;dung<98;dung++)
    	{
    		for(nam=1;nam<99 - dung;nam++)
    		{
    			gia=100 - dung - nam;
    			if( ((dung*5+nam*3+gia/3)==100) && (gia % 3=0))
    			printf("\n trau dung:",dung,", trau nam:",nam,", trau gia:",gia); 
    		}       dem++;
                    
    	}
            printf("\n co",dem," dap an");
            getch();
    }

    [=========> Bổ sung bài viết <=========]



    trong C có mod ư? mới thấy lần đầu.
    Code:
    #define mod %

  8. #8
    Tham gia
    28-09-2007
    Location
    Vĩnh Yên-Vĩnh Phúc
    Bài viết
    1,167
    Like
    6
    Thanked 14 Times in 12 Posts
    Quote Được gửi bởi squall86 View Post
    trong câu lệnh for
    thì đứng, nằm, già nhận giá trị từ 0
    từ 1, thậm chí già là từ 3, vì có ít nhất 1 con

  9. #9
    Tham gia
    04-02-2009
    Location
    HCM
    Bài viết
    270
    Like
    0
    Thanked 2 Times in 2 Posts
    Quote Được gửi bởi nh0cbilly View Post
    đề
    Tram trau tram co
    Trau dung an nam
    Trau nam an ba
    Trau gia an mot

    Tức là 5X+3Y+Z=100. tìm X,Y,Z.

    Code:
    #include <stdio.h>
    #include <conio.h>
    main()
    {
    	clrscr();
    	int i,dung,nam,gia;
    	long int dem=0;
    	for(dung=1;dung<100;dung++)
    	{
    		for(nam=1;nam<100;nam++)
    		{
    			for(gia =1;gia<100;gia++)
    			if((dung*5+nam*3+gia)==100)
    			printf("\ntrau dung: %d; trau nam: %d; trau gia: %d",dung,nam,gia); 
    		}       dem++;
                    
    	}
            printf("\n co %d dap an",dem);
            getch();
    }
    Cho em hỏi tại sao đáp án cứ ra là 99 dù em đếm ko đủ ?
    NGhe bài này rồi giờ đọc sao mà thấy ko hiểu lắm

    Phương trình thế này phải không nhỉ

    5X + 3Y + Z = 100
    X + Y + Z = 100

    trừ 2 phương trình cho nhau tự nhiên được 4X + 2Y = 0;

    Thế này vì X với Y là không thể âm => X = Y = 0; => Z = 100

    vậy còn gì để giải nữa nhỉ ?.

  10. #10
    Tham gia
    27-01-2009
    Location
    Lâm Thao - Phú Thọ
    Bài viết
    150
    Like
    0
    Thanked 4 Times in 4 Posts
    bạn ơi bài này đâu phải như vậy
    nếu là bài toán trăm trâu thì là thế này mà
    Trăm trâu ăn trăm bó cỏ
    Trâu đứng ăn 5
    Trâu nằm ăn 3
    Lụ khụ trâu già
    Ba con 1 bó mà
    ++++++++++++++++++++++++++++++++++
    bài giải như sau
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    int main(void)
      {
        int d,n,g;
        int dem;
        dem=0;
        printf("Bai toan tram trau\n");
        printf("Ngo HUng Cuong\n");
        for(d=0;d<=20;++d)
          {
            for(n=0;n<=33;++n)
              {
                for(g=0;g<=99;g+=3)
                  if((d+n+g)==100&&(5*d+3*n+g/3)==100)
                    {
                      ++dem;
                      printf("nghiem thu %i cua bai toan %i %i %i\n",dem,d,n,g);
                    }
              }
          }
        printf("Press any key");
        getch();
      }
    +++++++++++++++++++++++++++++++++++++++++++++
    còn bài của bạn hình như sai thì phải
    nếu trâu già ăn 1 thì chỉ có nghiệm duy nhất là 0 0 100 thôi
    với lại bạn phải tăng biến đếm ở trong vòng lặp thứ 3 ở trong cả lệnh if
    tức là chỉ khi là nghiệm thì mới đếm thôi chứ ở đây mỗi lượt của vòng for
    for(dung=1;dung<100;dung++)
    thì bạn lại tăng biến đếm lên 1 thì chẳng phải sẽ ra 99 nghiệm sao
    Được sửa bởi kidteam lúc 12:49 ngày 29-03-2009

Trang 1 / 2 12 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
  •