任务描述
本关任务:解决鸡兔同笼的问题。
相关知识
鸡兔同笼问题
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。
已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物?
问题分析
使用数学方法,我们能很快的得到结果:要求最多,那么鸡的数量要尽可能多;要求最少,则兔子的数量要尽可能多。
那如何转化为计算机程序呢?我们可以一步一步来。
首先要读取输入的脚的总数,我们可以声明一个int型的变量:
int a; //脚的总数
cin >> a; //读取输入
然后就可以根据a的取值来分情况讨论了。
如果输入的数据为奇数,则这个数据是错误的数据,那我们就输出一句数据错误的提示。
代码如下:
if(a % 2 == 1)
{
cout << "数据错误" << endl;
}
数据正确的情况下,我们可以进一步看看a是否是4的倍数,如果是的,则最多动物数量就是a / 2,最少是a / 4。
代码如下:
else if(a % 4 == 0)
{
cout << a / 2 << endl; //输出最多的数量
cout << a / 4 << endl; //输出最少的数量
}
如果不是4的倍数,那么除以4的余数只能是2,所以最多的动物数量仍为a / 2&