免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: kaios
打印 上一主题 下一主题

[算法] 一道笔试题! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-08-01 23:59 |只看该作者
将一个2*2*2的分成8个1*1*1最少要几刀?然后就可以推导出楼主的题设了,不知道是不是这样.....

[ 本帖最后由 鬼人王 于 2008-8-2 00:03 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2008-08-02 00:47 |只看该作者
好像确实是9刀了!呵呵

论坛徽章:
0
13 [报告]
发表于 2008-08-02 00:55 |只看该作者
原帖由 gtkmm 于 2008/8/1 18:13 发表

我可以试式证明一下,9是最小值。

假设有长方体A0,是a0*b0*c0大小的,我们用刀装备把这个物品分成1*1*1的。
把A0切一刀,所得两块,我们记体积较大的为A1。
同理,把An切一刀,所得到的,体积最大的那 ...

很好,很强大 。

论坛徽章:
0
14 [报告]
发表于 2008-08-02 09:43 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
15 [报告]
发表于 2008-08-02 11:13 |只看该作者
....  这道题是 这么算的
5*5*5 是6个面

125* 1*1*1 是 125*6 个面

需要增加多少个面?? 125*6-6 = 744 个面

因为1刀下去可以 double.

那么对多 2^x > 744
x =10
2^0 =1 是没有意义的。
所以从1-10
是9刀。

算法不完整, 不能这么算

[ 本帖最后由 benjiam 于 2008-8-6 08:59 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2008-08-02 13:03 |只看该作者
ls正解
要将面数扩大125倍
保证每刀尽量切到现有所有的块
9刀 2^9 = 128>125

论坛徽章:
0
17 [报告]
发表于 2008-08-02 19:32 |只看该作者

回复 #16 blue_galaxy 的帖子

大哥!2^9=512吧!2^7=128!

论坛徽章:
0
18 [报告]
发表于 2008-08-02 21:30 |只看该作者
觉得是9刀,这么考虑的
一步一步来
1*1*1的块可以由下面的步骤得到
5*5*5->1*5*5->1*1*5->1*1*1

(1)5*5*5->1*5*5
就是把一个方形大面包切成5片,我想了想,至少要3刀
(2)1*5*5->1*1*5
把一个面包片切成5条,我想跟上面的原理是一样的,也要3刀
(3)1*1*5->1*1*1
把条切成块,同样也要3刀吧

3*3=9

论坛徽章:
0
19 [报告]
发表于 2008-08-03 03:08 |只看该作者
明明8刀就够了

从头上切4刀,拦腰切4刀不就行了。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
20 [报告]
发表于 2008-08-03 12:44 |只看该作者
6刀就可以了。方法如下:
1:从整体来看6个面,那么我们可以在对3个面下刀即可(分为a、b、c三面);
2:从a面横中1刀,然后两部分横向叠起来,再1刀,共2刀(a面切割完成);
3:b、c面同理操作,共计2*3=6(刀)。


说错了,4*4*4的话,6刀完成,再想想5*5*5

[ 本帖最后由 dreamice 于 2008-8-3 13:20 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP