免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
61 [报告]
发表于 2008-08-07 22:18 |只看该作者
好像答案应该是:5刀

原因是:切块可以随意叠放。
5=2+3
5=1+1+1+2
5=2+3
5=1+1+1+2
2=1+1

可以一起探讨,
邮箱:hepeng918@126.com

论坛徽章:
0
62 [报告]
发表于 2008-08-07 22:23 |只看该作者
原帖由 huiyl888 于 2008-8-5 19:42 发表


按照这个道理,如果要把2×2×2切成1×1×1的则至少需要5刀(理由如下),这显然有问题。刚一看很赞成这个观点,但细推了下不对劲,期待高人再多指点点……

2*2*2 是6个面

8* 1*1*1 是 8*6 个面

需 ...



我也感觉是5刀,
但是你从面的个数上来计算,
我看着有些不明白。

可以详细讲一下吗,
发送到我的邮箱,
邮箱:hepeng918@126.com
谢谢。

论坛徽章:
0
63 [报告]
发表于 2008-08-08 00:11 |只看该作者

9刀

由归纳法可以给出算式
当n=1 1刀
当n>1 且n为偶数时,需要切(n/2)*3刀(每个面需要切的次数相同,可由反证法证明)
当n>1 且n为奇数时,需要切((n-1)/2+1)*3 也就是((n+1)/2)*3刀

此公式适用于n为任意正整数。

[ 本帖最后由 eadgbeguitar 于 2008-8-8 00:39 编辑 ]

论坛徽章:
0
64 [报告]
发表于 2008-08-08 01:39 |只看该作者
我认为:
1,每次都切立方体中面最大的一面
2,每次切都保证切后该面两部分尽量大小一样
3,每次切完小的一块可以不用管,因为叠加在一起,小的一块必然可以分掉

因为这样才可以尽量保证可以叠加的时候切到最多

偶数有(1+2^l)*2^m 和 2^n两种
奇数也是两种,分别是前面两种偶数+1(-1也可以,设定好n,l,m的界限就可以了)

对于2^n:
    3刀接着3刀,直到切完n次,所以是3n刀
对月(1+2^l)*2^m:
    3刀接3刀直到奇数m次数结束,此时虽1+2^l为奇数,但是大块的总是符合前面提到的2,也就是其中的奇数块,所以最后多一次,再加1+l次,总次数为(1+l+m)*3 (4)

对于2^n+1:
    参照(4)的后半分部分解释可得(n+1)*3次
对于(1+2^l)*2^m+1:
    切m次后得到大块为(1+2^l)+1=2^(l+1),需要在1+l次,所以共(1+l+m)*3刀

值得注意的是,按照这个方法,2^n+1到2^(n+1)次方里面的所有数字,需要相同的刀数,也就是说分成3^2需要3刀,, 3^3, 3^4需要6刀,3^5块,3^6块,3^7块,3^8块需要的都是9刀。。。

[ 本帖最后由 dangk 于 2008-8-8 02:03 编辑 ]

论坛徽章:
0
65 [报告]
发表于 2008-08-08 05:07 |只看该作者
感觉是7刀

论坛徽章:
0
66 [报告]
发表于 2008-08-08 10:07 |只看该作者
6楼说的对,“6刀最多能把物体分为2^6=64块”!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP