例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