L
LeeChange
Unregistered / Unconfirmed
GUEST, unregistred user!
有一架天平和一组砝码,可以用来称物体的质量.在给定的砝码质量都确定的情况下,天平能够连续称重的物体的最大质量称为天平的量程.
比如,只有一个砝码,质量为1,那么他可以称出质量为1的物体,则称此时天平的量程为1.
如果这个砝码的质量为2,那么他只能称质量为2的物体,却不能称质量为1的物体,违反了能够连续称重的原则,因此此时天平的量程为0.
既:在砝码数为1时,天平的最大量程为1
再看有两个砝码的情况:
如果两个砝码的质量都为1,那么可以称出质量为1和2的物体,则天平的量程为2.
但显然此时得到的量程不是最大值,因为如果一个砝码为1,另一个为2,则可以称出质量为1,2和3的物体,量程为3.
如果砝码一个为1,一个为3,则可以称出1(1砝码在左,物体在右),2(1砝码和物体在左,3砝码在右),3(3砝码在左,物体在右),4(1,3砝码在左,物体在右),此时的量程为4.
如果一个砝码为1,一个为4,虽然能称出质量为5的物体,但却称不出质量为2的物体,此时天平的量程仅为1(因为连续称重最大只能到1).
所以,在砝码数为2时,天平的最大量程为4.
现求一程序,输入砝码的数量n,求出在有n个砝码的情况下,天平所能获得的最大量程.不要求求出每个砝码的质量.但程序有严格的运行时间限制(<1s),n可能很大,但保证天平的最大量程不超过2147483647(MaxInt).
比如,只有一个砝码,质量为1,那么他可以称出质量为1的物体,则称此时天平的量程为1.
如果这个砝码的质量为2,那么他只能称质量为2的物体,却不能称质量为1的物体,违反了能够连续称重的原则,因此此时天平的量程为0.
既:在砝码数为1时,天平的最大量程为1
再看有两个砝码的情况:
如果两个砝码的质量都为1,那么可以称出质量为1和2的物体,则天平的量程为2.
但显然此时得到的量程不是最大值,因为如果一个砝码为1,另一个为2,则可以称出质量为1,2和3的物体,量程为3.
如果砝码一个为1,一个为3,则可以称出1(1砝码在左,物体在右),2(1砝码和物体在左,3砝码在右),3(3砝码在左,物体在右),4(1,3砝码在左,物体在右),此时的量程为4.
如果一个砝码为1,一个为4,虽然能称出质量为5的物体,但却称不出质量为2的物体,此时天平的量程仅为1(因为连续称重最大只能到1).
所以,在砝码数为2时,天平的最大量程为4.
现求一程序,输入砝码的数量n,求出在有n个砝码的情况下,天平所能获得的最大量程.不要求求出每个砝码的质量.但程序有严格的运行时间限制(<1s),n可能很大,但保证天平的最大量程不超过2147483647(MaxInt).