有趣的面试题——瓶子问题
一块钱可以买一瓶水,三个瓶盖子可以换一瓶谁,问N块钱可以喝多少瓶?
实现方案
问题的出发点
- N块钱一定可以买N瓶水,可以得到N个瓶盖子
- 这N个瓶盖子每3个可以换一瓶水,得到一个瓶盖子
具体实现
public int pay(int money,int baseNumber)
{
int count=0;
count = money;
int pingzi = count;
while(pingzi>=baseNumber)
{
//3个瓶子
pingzi-=baseNumber;
//去换一瓶
count++;
//多一个瓶盖
pingzi+=1;
}
return count;
}
总结
其实,这种问题扎眼一看还真不好整,其实把我认为突破问题的关键在于,你要知道人的思维怎么去处理,然后把人的思维抽象到计算机思维上就好了。