题目描述
一种游戏可以是3人同时比赛, 仅1人晋级,其他2人淘汰. 也可以2个人比赛,淘汰1个. 现在有n个人, 最少安排多少场比赛才能产生冠军?
输入
输入: 多个测试用例,每个是一个正整数n ( 3~10000000),表示参赛人数. 0表示终止
输出
输出: 最少比赛场次
样例输入
3
4
0
样例输出
1
2
#include<stdio.h>
#include<malloc.h>
int main(){
int sum,k,l;
int n[100000];
int i=0,j;
while(1){
scanf("%d",&n[i]);
if(n[i]==0) break;
i++;
}
for(j=0;j<i;j++){
k=n[j];sum=0;l=0;
while(k>=3){
l=k%3;
k=k/3;
sum+=k;
k+=l;
}
if(k>1)
sum++;
printf("%d\n",sum);
}
return 0;
}