Loading...

[C++]Bài toán cổ "Vừa gà vừa chó bó lại cho tròn..."

Yêu cầu: Hãy giải bài toán cổ: " Vừa gà vừa chó bó lại cho tròn, 36 con, 100 chân chẵn."


Vừa gà vừa chó bó lại cho tròn, 36 con, 100 chân chẵn
Kết quả
Ý tưởng bài giải:

Để giải bài toán này ta gọi ga là số gà và cho là số chó. Theo điều kiện bài toán ta thấy  ga  có thể đi từ 0 (không có con nào) và đến tối đa là 50 (vì chỉ có 100 chân), tương tự  cho  có thể đi từ 0 đến 25. Như vậy ta có thể cho  ga  chạy từ 0 đến 50 và với mỗi giá trị cụ thể của  ga  lại cho  cho  chạy từ 0 đến 25, lần lượt với mỗi cặp ( ga ,  cho ) cụ thể đó ta kiểm tra 2 điều kiện:  ga  +  cho  == 36 ? (số con) và 2 ga  + 4 cho  == 100 ? (số chân). Nếu cả 2 điều kiện đều thoả thì cặp ( ga ,  cho ) cụ thể đó chính là nghiệm cần tìm. Từ đó ta có chương trình với 2 vòng for lồng nhau, một vòng for cho  ga  và một vòng cho  cho . 

Code:
-----------------------------------------------------------------------------
#include<iostream.h>
using namespace std;
void main()
{
int ga,cho;
for (ga=0;ga<=50;ga++)
for (cho=0;cho<=25;cho++)
if ((ga+cho==36) && (ga*2+cho*4)==100)
cout<<"Ga= "<<ga<<"\nCho= "<<cho<<"\n";
}



-----------------------------------------------------------------------------



Previous
Next Post »

3 nhận xét

Write nhận xét
Unknown
AUTHOR
December 06, 2021 delete

Câu lệnh while thì viết sao ạ ?

Reply
avatar
Loading...