往池中倒入一定的水量V (每1单位水量刚好填充一个格子, 格子大小为1×1),现要求倒入水后,每一列水位高度一致。
如图b所示,往池中倒入V=11的水量,则水位高度为3.5(解释:第一层没有空白单位,首先填满第2层的3个单位,然后填满第3层的5个单位,此时还剩氽11-3-5-3个单位的水量,第4层有6个单位的空白,不足以填满,此时3/6=0.5,故总填充高度为3+0.5=3.5)。
为了解决该问题,小吴设计了二分算法:通过枚举水位高度,计算所儒的水量与实际输入水量比较,如果所需水量大于实际水量(精确到0.01),则需降低水位高度,否则增加水位高度,直到得到正确结果。程序功能:运行程序时,在文本框Text1中输入倒入的水量V,在文本框Text2中输出能达到的水位高度(保留1位小数输出)。程序运行界面如图c所示。