摩天大楼
Problem
摩天大楼有 n
层。众所周知,如果你从 p
楼层扔下一个玻璃球,球碎了,那么如果你从 p+1
楼层扔一个玻璃球,它也会碎.众所周知,当从最后一层抛出球时,球总是会破裂。
您想要定义球在下落时会破裂的最小楼层数。对于实验,您有两个球。您可以将它们全部拆分,但您必须绝对确定最终结果中的那个数字。
确定抛出多少次就足以解决这个问题。
输入
程序接收摩天大楼 n 的楼层数作为输入。
输出
要求打印最少的throw次数,总能解决问题。
注意事项
评论第一个例子。你需要从二楼扔球。如果它坏了,那么我们就从1楼扔第二个球,如果没有坏,那么我们就从3楼扔球。
提示
<分区>1。如果只有一个球怎么办?
<分区>2。假设有两个球,我们从
k
楼层扔了一个球。我们将如何根据球是否破损采取行动?
<分区>3。如果摩天大楼有
n
层,则令
f(n)
是确定所需楼层所需的最少投掷次数。对于较小的
a
,用
f(a)
值表示
f(n)
。
值
例子
<头>
# |
输入 |
输出 |
东西>
<正文>
1 |
4 |
2 |
2 |
7 |
3 |
表>
Запрещенные операторы: for
; while
; until