有假币

题目描述:

居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!!可惜nowcoder 一不小心把它混进了一堆真币里面去了。只知道假币的重量比真币的质量要轻,给你一个天平(天平两端能容纳无限个硬币),请用最快的时间把那个可恶的假币找出来。

输入描述:

1≤n≤2^30,输入0结束程序。

输出描述:

最多要称几次一定能把那个假币找出来?

解题思路:从小到大推导,一次称量最多能找出3枚硬币中的假币,二次称量最多能找到9枚中的一枚假币。以此类推...

代码:

#include
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        if(n==0)
            break;
        int ans=0;
        long long sum=1;
        while(sum

 

你可能感兴趣的:(牛客网编程题)