穷举法是程序员常用的手法,参见《鸡兔同笼》。

鸡兔同笼问题是《孙子算经》卷下中的第31题。今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?答曰:雉二十三。兔一十二。

一天,老师布置家庭作业,做鸡兔同笼问题。小明不喜欢做复杂计算,回家后开始训练鸡和兔。小明吹一声哨,鸡和兔都抬起一条腿,小明又吹一声哨,鸡和兔又再抬起一条腿,鸡就一屁股坐地下了,兔两腿站立。于是,小明明白了应该怎么算这个题。兔的数量=(脚数-头数-头数)/2,鸡的数量=头数-兔的数量。

程序员要解决实际问题,需要面对三个世界,一是现实世界,二是数学世界,三是数据世界。现实世界中的问题可以先放到数学世界中解决,最后再进入数据世界并且编写程序解决。

这里给出的程序,可以输入多组头和脚的数量。根据输入的头和脚的数量,计算出鸡和兔的数量。

程序如下:

/* 鸡兔同笼,今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何? */#include <stdio.h>int main(void)
{int head, feet, rabbit;printf("Please enter the number of feet and head:\n");while(scanf("%d%d", &head, &feet) != EOF) {if(head <= 0 || feet <= 0 || head * 2 > feet|| head *  4 < feet|| (feet - 2 * head) % 2 != 0)printf("Input error!\n");else {rabbit = (feet - 2 * head) / 2;printf("chicken=%d, rabbit=%d\n", head - rabbit, rabbit);}}return 0;
}

程序运行例子:

Please enter the number of feet and head:
35 94
chicken=23, rabbit=12
15 40
chicken=10, rabbit=5
10 41
Input error!
10 18
Input error!
10 20
chicken=10, rabbit=0

I00023 鸡兔同笼解法二相关推荐

  1. 99%的人都不知道的鸡兔同笼解法!

    鸡兔同笼 "鸡兔同笼问题"是我国古算书<孙子算经>中著名的数学问题,其内容是:"今有雉(鸡)兔同笼,上有三十五头,下有九十四足.问雉兔各几何."   ...

  2. php求解鸡鸭同笼,鸡兔同笼的9种解法

    原标题:鸡兔同笼的9种解法 鸡兔同笼问题是我国古代著名趣题之一.大约在1500年前,<孙子算经>中就记载了这个有趣的问题. 现有一笼子,里面有鸡和兔子若干只,数一数,共有头14个,腿38条 ...

  3. 利用计算机解决古代数学问题鸡兔同笼,古代数学-鸡兔同笼:7种解法,你发现了几种呢?...

    鸡兔同笼问题是我国古代一道经典的数学趣题.它记载于大约1500年前的<孙子算经>中,书中是这样描述的:"今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?"这句话 ...

  4. php设计鸡兔同笼问题解法,数量关系解题技巧:三种方法巧解鸡兔同笼问题

    [导读] 中公事业单位为帮助各位考生顺利通过事业单位招聘考试!今天为大家带来数量关系解题技巧:三种方法巧解鸡兔同笼问题. 鸡兔同笼问题是事业单位考试中比较常见的一种题型,题干特征非常明显,解题方法多样 ...

  5. 鸡兔同笼问题 Java解法——(暴力破解)

    鸡兔同笼问题 Java解法 已知鸡和兔的总数量为n,总腿数为m.输入n和m,依次输出鸡和兔的数目,如果无解,则输出"No answer"(不要引号). 输入 : 第一行输入一个数据 ...

  6. 计算机兔同笼的方法,“鸡兔同笼”问题,4种不同的、有趣的解法,简单易懂...

    相信不少人都听说过著名的"鸡兔同笼"问题,对无忧无虑的小学生来说,心理阴影不至于,但绝对是个巨大的挑战.问题是这样的:在一个笼子里,有鸡和兔子两种动物,两种动物脑袋共35个,脚一共 ...

  7. c语言鸡兔同笼(二)

    在上篇中,我们对鸡兔同笼问题进行了分析,但是是在理想的状态下进行的,并没有分析输出结果是否符合常理,在本次的编程过程中,对不符合常理的数据进行相应的处理,处理如下:若问题有解,依次输出鸡和兔的只数.若 ...

  8. php设计鸡兔同笼问题解法,鸡兔同笼问题4种解题方法

    ​鸡兔同笼解题方法: 1,假设法 设全是鸡,则兔的只数为: (总头数×2--总脚数)÷2 设全是兔,则鸡的只数为: (总头数x4--总脚数)÷2 总只数--鸡只数=兔只数 基本原理:总头数x2如果=总 ...

  9. 靠「猜」答案获得顶会最佳论文,华人IOI金牌获得者找到复杂「鸡兔同笼」最简解法...

    来源 : 量子位 还记得小时候被"鸡兔同笼"支配的恐惧吗? 其实,当我们学习了二元一次方程,就知道这个问题并不复杂: 不过,可别小看了这样的线性方程,试想一下,如果动物的种类不止2 ...

最新文章

  1. 织梦mysql占用资源_解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记
  2. 可以用于回归分类的总结
  3. vscode如何及时提示flutter代码
  4. mybatis知识点
  5. 撒花!吴恩达新书《Machine Learning Yearning》完整中文版pdf开放下载
  6. 计算器排html页面,htmltest~计算器界面的实现
  7. java stringutils_Java 笔记----- StringUtils 拼接字符
  8. 中国西北大学和北京大学的研究结果是否将终结CAPTCHA验证码时代?
  9. SolidWorks二次开发-工程图-预定义视图
  10. 巴斯大学计算机世界专业排名,2019上海软科世界一流学科排名计算机科学与工程专业排名巴斯大学排名第301-400...
  11. python eml解析_如何在python中读取eml文件?
  12. css超出div部分用省略号,css实现超出div长度用省略号表示
  13. 将1自动补位为01_英雄联盟如何避免被自动补位到辅助位置
  14. poj 2187 凸包or旋转qia壳法
  15. read_csv()报错: ‘utf-8‘ codec can‘t decode byte 0xca in position 0: invalid continuation byte
  16. 数据脱敏为何如此重要?
  17. 与贸易有关的知识产权协议 (转)
  18. cadence16.6出odb++出不出来
  19. matlab polyfit c语言,算法——纯C语言最小二乘法曲线拟合
  20. oracle删除重复数据-百万级别数据以上情况

热门文章

  1. Cocos Creator 使用 Android Studio 打包 APK 遇到的坑
  2. Golang 中 RSA 算法的使用
  3. Direct3D顶点结构使用总结
  4. php mysql合同跟踪,使用TCP协议进行路由跟踪
  5. java成员访问修饰符,如何使用java反射查找成员的访问修饰符
  6. HTTP请求报文分析
  7. android 视频标签,android--------WebView实现 Html5 视频标签加载
  8. 循环取矩阵的某行_一文搞懂RNN(循环神经网络)基础篇
  9. python判断性别程序设计_python基础15 ---面像对象的程序设计
  10. Pytorch——保存训练好的模型参数