切蛋糕能最多切多少块的问题

本文只说明垂直桌面切的水平情况,不讨论空间问题。

Problem Description

一个人在吃蛋糕前都会随机决定要切几刀,而且保证切完之后得到最多块蛋糕(只能垂直于底面切)。有时候切得太多他自己都忘记掉切完有几块,为了确保他能吃到整个蛋糕,他得知道切完后的蛋糕的数量。

formulation

先给出公式:(result是蛋糕块数,n是刀数)

result = (n+1)*n/2 + 1

Analyze

(0)切割0次:1块
(1)切割1次:2块
(2)切割2次:4块
在这里插入图片描述
这应该是我们所有人都能想到的两次切割得最大块数的方法了。

(3)切割3次:7块
在这里插入图片描述
(3)切割4次:11块
在这里插入图片描述

好,我们发现了什么?

我们第 n 刀切下去,某一直线就会牵涉到 n+1 块蛋糕,而将这 n+1 块蛋糕切开,我们就又多了 n+1

比如切1刀后,在一条(其实有很多条)直线上是不是牵涉了2块蛋糕?
切的第2刀,将这2块蛋糕切成4块(2+2),总共有4块蛋糕(2+2),现在又有直线牵涉了3块蛋糕;
切的第3刀,将这3块蛋糕切成6块(3+3),总共有7块蛋糕(4+3),现在又有直线牵涉了4块蛋糕;
切的第4刀,将这4块蛋糕切成8块(4+4),总共有11块蛋糕(7+4),现在又有直线牵涉了4块蛋糕;

只要我们沿着找出的这条直线切下去,就能一直得到最大块数。

所以切第n刀后最大块数=
n + (n-1) + (n-2) + … + 1 + 1 = (n+1)*n/2 + 1

**tips:**别忘了切0刀时还有1块哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值