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

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块哦!

切蛋糕能最多切多少块的问题相关推荐

  1. 关于立体图形切n刀最多切多少块的结论及推导

    思路主要参照了知乎这个话题下德安城和安堇然的回答.自己再写一遍主要是为了加深理解. 首先直接给出结论: 在d维空间内,对于被切中的d维立体,每一刀将造成d-1维的划痕,将该d维立体分成两部分,则切n刀 ...

  2. n刀切蛋糕问题(最多切多少块c语言)

    分析:第一刀两块每切一刀多i块 //n刀切蛋糕问题,最多多少块 #include<stdio.h> int main(){int n,i;//i刀int cake;printf(" ...

  3. 【每周一算】一张大饼切n刀,最多可以切多少块?

    这是无意中在一个录音中听到的一个题目:一张很大很大的饼,给你一把足够长的刀,切n刀,最多可以得多少块? 这个问题听起来很简单,还是用程序记录一下吧. 解题:一刀都不切,有1块饼: 切第一刀,得2块饼: ...

  4. 切蛋糕n刀最多切成几分

    这道题要一步一步来的: (1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域. 析:可能你以前就见过这题目,这充其量是一道初中的思考题.但一个类型的题目还是从简单的入手, ...

  5. 漫画:有趣的 “切蛋糕“ 问题

    -----  第二天  ----- 举个例子: 我们有5块蛋糕, 蛋糕的大小分别是 5,17,25,3,15 我们有7位顾客, 他们的饭量分别是 2,5,7,9,12,14,20 (每个蛋糕大小和顾客 ...

  6. 切蛋糕(洛谷P1714)

    切蛋糕 题目描述 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值. 小Z作为寿星,自然希望吃到的第一块蛋糕的幸运值总和最大, ...

  7. c语言切蛋糕问题算法,从“切蛋糕问题”谈到欧拉#

    从"切蛋糕问题"谈到欧拉在图论上的贡献 这个作者敬业,不得不发... 从圣诞节到新年之间,我们有几天假期.我们几个老朋友就选择一个晚上,各自准备点吃的东西欢聚在一起.吃吃喝喝完后, ...

  8. 【Leetcode单调队列】- 洛谷P1714切蛋糕

    单调队列 解决该类问题的重点维护一个队列,从队首到队尾是递减的,队首是最大的.队尾是最小的. 队尾接受值,队首排出值. Java实现用双端队列,前面接收值,后面排出来值. 这类题目往往是跟滑动窗口一起 ...

  9. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——A题 切蛋糕

    题目描述 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2的蛋糕 ...

最新文章

  1. 拯救尴尬:鉴黄神器NSFW JS开源了!
  2. python安全编码问题_浅谈Python中的编码问题
  3. HDFS NameNode进程挂了并且数据也丢失了,如何进行恢复?
  4. udp java 编程_JAVA 网络编程之UDP编程
  5. 掌握神经网络,入门深度学习
  6. 计算机二级web程序设计习题,2015年计算机二级《Web程序设计》习题及答案(5)
  7. 信息学奥赛一本通(2022:【例4.7】最小n值)
  8. 如何在ASP.NET Core中上传文档
  9. GX works2 中的块的创建与使用方法
  10. iOS 项目改名~~~~~
  11. Spring源码之bean的实例化createBeanInstance方法解读
  12. Windows下设置Mongodb用户名密码
  13. GitLab版本升级
  14. 基于Java(SSM)+MySQL的二手书籍交易系统【100010084】
  15. 常用方法——4.JS将yyyy-MM-dd HH-mm-ss格式日期转换成时间戳
  16. 我用 Python 画了一盘粽子送给大家
  17. GIS+=地理信息+行业+大数据——纽约公开11亿条出租车和Uber原始数据下载及分析
  18. python计算化学浓度_计算化学操作流程-孙磊.pdf
  19. python——洗牌算法
  20. Elasticsearch 索引生命周期管理方案

热门文章

  1. 【Lucene】分词器详解,常用的分词器,IKANalyzer
  2. 聊一聊tiktok上面的无人直播可行吗?
  3. Ubuntu图形界面打不开解决方法
  4. 漏洞情报 | 锐捷RSR路由器设备存在命令执行漏洞
  5. 数据结构小作业——串连接(块链结构)
  6. 安卓开发入门教程-通过WebView打开网页
  7. 关于帧间距 IFG技术的讨论
  8. 聚合支付-支付渠道接入设计及实现
  9. 自学笔记2-爬虫分析中国人民银行货币政策报告2
  10. Swift 使用xib自定义UITableViewCell