当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : “百钱买鸡”最优解
帖子发表于 : 2009-01-10 0:47 
头像

注册: 2006-09-21 14:28
帖子: 2376
送出感谢: 0 次
接收感谢: 0 次
“百钱买鸡问题”出自公元前五世纪中国数学家张丘建的《算经》:公鸡每只五元,母鸡每只三元,而鸡仔每只一元。用一百元买一百只鸡,公鸡、母鸡和鸡仔(cocks, hens,chicks)各有多少只呢?

代码:
# c
int cocks, hens, chicks;
for ( cocks = 1; cocks < 20; cocks ++ )
    for ( hens = 1; hens < 32; hens ++ )
        for ( chicks = 1; chicks < 92; chicks ++ )
            if (cocks * 5 + hens * 3 + chicks * 1 == 100)
                printf( "%2d, %2d, %3d \n", cocks, hens, chicks );


代码:
# python
for cocks in range(1, 20):
    for hens in range(1, 32):
        for chicks in range(1, 92):
            if cocks * 5 + hens * 3 + chicks * 1 == 100:
                print "%2d, %2d, %3d" % (cocks, hens, chicks)


明显地,上面是最简单的方法,O(19*31*91)。现求最优解,请各位动手动脑 :em01


_________________
http://lee.youxu.info/


页首
 用户资料  
 
2 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-10 1:51 
头像

注册: 2006-05-03 0:39
帖子: 8273
地址: المريخ
送出感谢: 0 次
接收感谢: 1
最优解是直接写出答案


_________________
PHP是最好的语言!不服来战!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-10 2:41 

注册: 2008-08-23 12:22
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
stlxv 写道:
最优解是直接写出答案
flyinflash, :em11 :em05 :em09 :em04


页首
 用户资料  
 
4 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-10 4:20 
头像

注册: 2006-10-19 8:43
帖子: 787
地址: 长江口
送出感谢: 1
接收感谢: 2
call鸡场老板,¥100买100只鸡,大小、公母随便,可否?可,有解,O(¥100*统计时间);否,递归 :em05

中止条件?


页首
 用户资料  
 
5 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-10 7:07 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
这题目写错了吧...
一百元怎么买也只能买到100只小鸡... :em20
用小鸡做贪心,第二次运算就可以结束了...


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
6 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-10 9:37 

注册: 2006-10-19 18:55
帖子: 36
送出感谢: 0 次
接收感谢: 0 次
小鸡应该只0.5元

年底了不能随便涨价,小心物价局查你 :em04


页首
 用户资料  
 
7 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-10 11:21 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
5x + 3y + z = 100

枚举x从 0到 20
枚举y从 0到 33

5x + 3y <= 100 就是解了

z不用枚举


_________________
目前负债150多万


页首
 用户资料  
 
8 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-14 9:35 
头像

注册: 2008-05-09 14:14
帖子: 249
送出感谢: 0 次
接收感谢: 0 次
楼上的才是最优啊。 :em02


页首
 用户资料  
 
9 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-01-14 9:57 
头像

注册: 2008-07-13 23:19
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
xhy 写道:
5x + 3y + z = 100

枚举x从 0到 20
枚举y从 0到 33

5x + 3y <= 100 就是解了

z不用枚举



赞~!


页首
 用户资料  
 
10 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-02-09 15:14 

注册: 2006-10-26 7:02
帖子: 441
送出感谢: 0 次
接收感谢: 0 次
5x+3y+z=100
x+y+z=100

=> 2x+y=0


页首
 用户资料  
 
11 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-02-09 15:40 
头像

注册: 2006-09-21 14:28
帖子: 2376
送出感谢: 0 次
接收感谢: 0 次
7 楼的不错
:em01


_________________
http://lee.youxu.info/


页首
 用户资料  
 
12 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-02-09 16:00 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
学习七楼


页首
 用户资料  
 
13 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-02-25 11:40 
头像

注册: 2007-12-21 22:36
帖子: 91
送出感谢: 0 次
接收感谢: 0 次
我知道了。这题我思考了也好久。一整本都是算这题的

最终算了出来。在C里的经典题目,
哦。原来是求最简单的算法啊,这就不清楚了。只能答。我的很烂


_________________
实践理想,多做自己怕的事



停止改变别人,开始改变自己

——————————————
我要变的更强!#¥#%#@!……%&!


页首
 用户资料  
 
14 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-02-28 18:08 

注册: 2008-01-09 22:41
帖子: 18311
送出感谢: 0 次
接收感谢: 6
单是貌似还是要for循环下……


页首
 用户资料  
 
15 楼 
 文章标题 : Re: “百钱买鸡”最优解
帖子发表于 : 2009-03-02 12:49 

注册: 2005-11-15 23:10
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
huxianhui 写道:
我知道了。这题我思考了也好久。一整本都是算这题的

最终算了出来。在C里的经典题目,
哦。原来是求最简单的算法啊,这就不清楚了。只能答。我的很烂


这关C啥鸟事,不要有事没事就往C身上勾。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译