百鸡百钱,在经典里总能口味出不一样的美
来源:互联网 发布:怎么查淘宝价格走势 编辑:程序博客网 时间:2024/06/10 02:46
今天随手拿到一本书,看到一些趣味的问题,第一个便是百鸡百钱问题:一只公鸡五钱,一只母鸡三钱,三只小鸡一钱。现用百钱买百鸡,请问公鸡,母鸡,小鸡各多少只?
看到这个问题,第一个想到的就是穷举循环法,即用三个循环来写遍历三种鸡,判断 鸡一百鸡且钱花一百则输出各种鸡的数量。
但是三个循环的时间成本太高,可以用组合的方法,即公鸡和母鸡的数量知道了,小鸡的数量就等于100 - gongji - muji,这样执行次数就降了100次,大量节约了时间成本,虽然在这个小程序中影响不是很大,但要是数据量大了,这是一个很可观的节省。
还有一个小细节难住了我,三只小鸡值一钱该怎么表示呢?是应该用浮点数吗?
若小鸡不能被3整除,即小鸡的个数不是3的位数,钱当然也不能为0整娄,即钱数达不到整数100,在判断的时候
if( gongji + muji + xiaoji == 100 && gongji*5 + muji*3 + xiaoji / 3.0 == 100)
若不用浮点数计算,会把一些不能整除的数的结果看成能整除的,导致输出了不符合的结果
int gongji; int muji; int xiaoji; for( gongji = 0; gongji < 20; gongji++) { for(muji = 0; muji < 33; muji++) { xiaoji = 100 - gongji - muji; //小鸡个数除以3的问题:若小鸡不能被3整除,则达不到整数100,若不用浮点数计算,会把一些不能整除的数的结果看成能整除的,导致输出了不符合的结果 if( gongji + muji + xiaoji == 100 && gongji*5 + muji*3 + xiaoji / 3.0 == 100) printf("公鸡:%d,母鸡:%d,小鸡:%d\n",gongji,muji,xiaoji); } }
0 0
- 百鸡百钱,在经典里总能口味出不一样的美
- 精实未必总能创造出更好的产品
- 随机出 不一样的 5个数
- 复古的东西总能让人生出无限遐想,一出手就很有质感和底蕴
- 可口可乐为何频出奇葩口味?
- 在flash里用js出的调色板代码
- 在Oracle里,查询出有'的数据
- 在一个数组里实现不同的下标访问不一样的数据类型。
- android时间选择器在两个工程里,表现方式不一样的问题
- 语言的口味(taste)
- 从两个表中选出不一样的数据
- 绝美的山水:湖在天上 天在湖里
- 鄙视出卖国美的陈晓
- Android在我心中是SHIT一般的存在 【言辞激烈,重口味,不喜误入】
- 在最美好的年华里,不要辜负最美的自己
- word里的目录索引页码如何跟正文的不一样?
- 月亮不会在浑浊的河水里倒映出清晰的影子来
- 最美的事是活在唐诗里(连载之三)
- 推荐前端页面性能优化工具YSlow, PageSpeed, Chrome Dev Tools
- RSA学习
- 【unity3D】【siki的坦克大战】 【学习记录(一)】 【01-07】
- mysql 常用日期,时间函数
- 解决新版阿里weex框架创建vue项目后打开http://localhost:8080/index.html空白
- 百鸡百钱,在经典里总能口味出不一样的美
- IntelliJ Idea 免费激活方法
- Android自定义View-水波纹progressbar
- python基础知识-函数
- SPI总线协议介绍
- git 411报错解决方案
- Oracle创建dblink报错:ORA-01017、ORA-02063解决
- 文章记录
- i2c 协议解析