例2.3 數學中經典的“雞兔同籠”問題,已知頭共30個,腳共90只,問籠中的雞和兔各有多少只?


【分析】 設雞為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;
    
 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM