站在编程小白的角度 解决C语言的时候碰到鸡兔同笼的问题.
题目是:
在一个笼子里同时养着一些鸡和兔子,你想了解有多少只鸡和多少只兔,主人对你说:我只告诉你鸡和兔的总头数是16和总脚数是40,请计算有多少只鸡和多少只兔?
作为编程小白,看到这个,傻眼了,这咋弄?但是数学本能告诉自己,做题,能做!
在数学里,先假设有x只鸡,y只兔子.已知鸡和兔子的总头数是16.(根据常识我们知道鸡和兔子都只有一个头)
所以 x + y =16.
题目又告诉咱们,总腿数是40.(根据多年的吃货经验可以得出,鸡 ,两条腿,兔子,四条腿!)
所以 2x + 4y = 40.
假设全是鸡: 16*2=32 全部都是鸡只有32条腿
比实际少了: 40-32=8 条腿
但是我们用一直兔子换一只,每次会多出两条腿!
咦,换四只鸡正好8条腿,扯平了
所以得出来,兔子是4只,鸡是16-4=12只.
好像有点思路了,x(鸡的数量)=总的数量-y(兔子的数量).敲敲找找灵感
#include<stdio.h>
int main()
{
int x,y,h,f; //假设x只鸡,y只兔子,h表示头的数量,f表示腿的数量.
h=16;
f=40;
y=(40-2*h)/2; //假设全部都是鸡,但是最后肯定是缺少腿,用一只兔子换一只鸡,一次多两条腿,可以知道换多少次兔子,也就得出兔子的数量.
x=h-y; //鸡的数量=总的数量-兔子的数量
printf("鸡的数量是%d 兔子的数量是%d",x,y);
return 0;
}
好像有点意思了,运行试试!和数学算出来的一样,ok