有趣的面试题

有趣的面试题——瓶子问题

一块钱可以买一瓶水,三个瓶盖子可以换一瓶谁,问N块钱可以喝多少瓶?

实现方案

问题的出发点

  1. N块钱一定可以买N瓶水,可以得到N个瓶盖子
  2. 这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;
}

总结

其实,这种问题扎眼一看还真不好整,其实把我认为突破问题的关键在于,你要知道人的思维怎么去处理,然后把人的思维抽象到计算机思维上就好了。
点赞