【分析】 設雞為j只,兔為t只,頭為h,腳為f,那么有:
j+t=30 ①
2*j+4*t=90 ②
假設籠中30 個頭全都是兔,那么都按每頭4只腳計算,總腳數為(4*h),與實際腳數(f )之差為(4*h-f),如果這個差=0,則籠中全是兔(即雞為0只);如果這個差值 >0,說明多計算了腳數,凡是雞都多計算了兩只腳,用它除以2就能得到雞的只數,算法為:① j=(4*h - f)/2 //先用腳數差值除以2算出雞的只數
② t=h - j //再用總頭數減雞數算出免的只數
注意這兩步運算的先后順序。程序如下:
#include<cstdio> //使用getchar()語句, 須調用cstdio庫
#include<iostream> //使用cin,cout,須調用iostream庫
using namespace std;
int main()
{ int h,f,j,t; //定個變量
h=30;f=90; //賦初始值
j=(4*h-f)/2; //計算雞的只數
t=h-j; //計算免的只數
cout<<"j="<<j<<" t="<<t<<endl; //輸出結果
getchar(); //和 system("pause")作用相似,用於結果顯示暫停
}
#include<cstdio> //使用getchar()語句,須調用
#include<iostream> //使用cin,cout須調用這個庫
using namespace std;
int main()
{
int j,t,h,f; //定義變量
h=30;f=90; //賦初始值
j=(4*h-f)/2; //計算雞的只數
t=h-j; //計算兔的只數
cout<<"j="<<j<<" t="<<t<<endl; //輸出結果
getchar(); //和system("pause")作用相似,用於結果顯示暫停
return 0;
}