编程小白碰到C语言中鸡兔同笼问题

站在编程小白的角度 解决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

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值