居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!!可惜nowcoder一不小心把它混进了一堆真币里面去了。只知道假币的重量比真币的质量要轻,给你一个天平(天平两端能容纳无限个硬币),请用最快的时间把那个可恶的假币找出来。
1≤n≤2^30,输入0结束程序。
最多要称几次一定能把那个假币找出来?
输入示例
3
12
0
输出示例
1
3
#include <stdio.h>
int main()
{
int n;
while(scanf("%d",&n)&&n){//n为0的时候,while的条件就会变成0,停止运行
if(n==1){
printf("0\n");
}else if(n==2||n==3){
printf("1\n");
}else{
int j=1;
while(n>3){
if(n%3==0)//如果是3的倍数,例如9这种就分成3,3,1
n/=3;
else//10这种偶数,就分成4,4,2,分成3堆,这样可以在第一次判断直接去除2/3的数量
n=n/3+1;
j++;
}
printf("%d\n",j);
}
}
return 0;
}