#include <stdio.h>
#include <stdlib.h>
int main()
{
int money = 20;
int count = 20;
while (1)
{
if (money % 2 != 0)
{
count = count + money - 1;
break;
}
else
{
money = money / 2;
count += money;
}
}
printf("%d\n", count);
system("pause");
return 0;
}
结果为39瓶,根据别具不同的情况,可以总结出一个结果,就是每次能喝到的饮料数都是价钱的二倍减1,提高效率。从而可以将程序改为:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int money = 0;
int count = 0;
scanf("%d",&money);
count = 2 * money - 1;
printf("%d\n", count);
system("pause");
return 0;
}