栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++入门:鸡兔同笼问题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++入门:鸡兔同笼问题

 问题:《孙子算经》中记载了一个有趣的问题:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”根据上述描述可列出如下形式的二元一次方程组。
x+y=35

x+4y=94​

要求:在一行中输入两个整数,整数之间用分号隔开,第一个整数表示头,第二个正数表示足


分析限定条件:首先小兔子的个数和小鸡的个数不能是负数,另外头不可能大于脚的个数,还有脚的个数不能是奇数,有一个容易忽略的问题是头的个数和脚的个数不能只有一个是零。

通过上面的方程组我们可以得到计算的式子(不唯一):

鸡:小鸡数=(4*头总数-脚数)/2       chickens=(4*heads-feet)/2

兔子:兔子数=头总数-小鸡数              rabbits=heads-chickens

代码主要用到 if() 语句 和逻辑运算符

源代码:

#include 
#include 
using namespace std;
int main()
{
  long long int heads,feet,mm,nn;//头,脚,小鸡,小兔子
  cin>>heads>>feet;//从键盘输入头的总数和脚的总数
  nn=(4*heads-feet)/2;
  mm=heads-nn;
  if((heads<=0&&feet!=0)||(heads!=0&&feet<=0)||heads>feet||heads<(feet/4)||feet%2==1)
  {
      cout<<"No solution!";
  }
  else
  {
      cout<<"chickens = "<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/698925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号