HPU 1042 假币问题

1042: 假币问题 [思维]

时间限制: 1 Sec  内存限制: 128 MB

提交: 200  解决: 34  统计

题目描述

居然有假币!!!

事情是这样的,现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。老王这就去买猪肉,结果找来的零钱中有假币!!!可惜老王一不小心把它混进了一堆真币里面去了。现在知道假币的重量比真币的质量要轻。给你一个天平,请用最快的时间把那个可恶的假币找出来。

输入

输入有多行。

每一行的值为硬币的数目nn,1n2301≤n≤230

输入0结束程序。

输出

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

输出对应输入行数。

样例输入

3
12
0
 
 

样例输出

1

3

...

找规律

AC

#include<iostream>  
#include<cmath>  
using namespace std;
int main()  
{  
    long long n,a;  
    while(cin>>n && n!=0)  
    {  
        if(n==1)   
          a=0;  
        else  
          a=log(n-1)/log(3)+1;  
        cout<<a<<endl;  
    }  
    return 0;  
}  

猜你喜欢

转载自blog.csdn.net/tingtingyuan/article/details/79967128