前言:
现在姐妹们对“鸡兔同笼算法编程”大约比较珍视,兄弟们都想要剖析一些“鸡兔同笼算法编程”的相关内容。那么小编在网摘上搜集了一些有关“鸡兔同笼算法编程””的相关内容,希望咱们能喜欢,兄弟们快快来了解一下吧!问题:现有若干只鸡和兔子在同一个笼子里,从上面数,有35个头,从下面数,有94只脚。请问笼子里有鸡和兔子各几只?方法一:穷举法
依次遍历鸡和兔数量的所有可能性,直到匹配到正确的脚数。
思路:
1.首先询问总头数和总脚数,分别保存到头数和脚数这两个变量中;
2.依次列举鸡的数量,从0开始一直到总头数,总共需要列举“头数+1”次,每次循环让总头数减去当前鸡的数量就是兔子的数量(兔子数 = 头数 - 鸡数);
3.如果本次循环中鸡的脚数加上兔子的脚数等于问题中的总脚数,那说明当前的鸡数和兔数就是我们要求的答案。(鸡的脚数 = 鸡数 × 2,兔子的脚数 = 兔数 × 4)。
方法二:假设法
假设全是鸡(让所有的兔子前腿离地站起来,这样就相当于也是两只脚了),按照每只鸡两只脚算出猜测的总脚数,题目中实际的脚数肯定要比猜测得多,则多出的脚数肯定是兔子的,每只兔子少算两只脚,根据多出的脚数除以2,就能求出兔子的真实数量,继而让总头数减去兔子数就是鸡的数量。
思路:
1.首先询问总头数和总脚数,分别保存到头数和脚数这两个变量中;
2.如果全是鸡,那么应该有 头数 × 2 只脚,题目中实际脚数要比我们算得多,求出具体多几只脚(多出的脚数 = 实际脚数 - 猜测脚数,猜测脚数 = 头数 × 2);
3.全部按照鸡来算,实际相当于每只兔子少算了两只脚(4只 - 2只 = 2只),多出的脚肯定都是兔子的,让多出的脚数除以2就能算出实际的兔子数量;
4.让总头数减去兔子数就能求出鸡的数量。
同理,也能假设都是兔子(让鸡趴下,用两个翅膀支着地,相当于也有四只脚),按照四条腿算的总腿数肯定要比题目中实际的要多,多出来的肯定就是鸡多算的,每只鸡多算两只脚(两个翅膀),让多出来的脚数除以2就能算出来鸡的实际数量,让总头数减去鸡数就能求出兔子数。
此外还有很多种方法都能解决这个问题,大家能用编程知识把思路实现出来吗?快来试试吧!