给定一个数学问题，将它转化为代码并输出结果。问题如下：有2个鸡蛋，100层楼，让你找到一个临界楼层，即从这层楼开始往下摔会摔碎蛋，求最少摔几次能找到这个楼层。（提示：可以使用二分查找算法）


问题：有2个鸡蛋，100层楼，让你找到一个临界楼层，即从这层楼开始往下摔会摔碎蛋，求最少摔几次能找到这个楼层。
代码如下（使用二分查找算法）：

```
import math

floors = 100  # 总楼层数
eggs = 2  # 鸡蛋数

# 使用二分查找算法，查找需要尝试的楼层数
def binary_search(start, end, eggs):
    if start == end:
        return start
    middle = math.ceil((start + end) / 2)
    if eggs == 1:
        return middle
    else:
        result1 = binary_search(start, middle-1, eggs-1)
        result2 = binary_search(middle+1, end, eggs)
        if result1 > result2:
            return 1 + result1
        else:
            return 1 + result2

# 输出结果
print("最少需要尝试" + str(binary_search(1, floors, eggs)) + "次")
```

运行结果：

```
最少需要尝试14次
```