Champion of the Swordsmanship

Champion of the Swordsmanship

时间: 1ms        内存:64M

描述:

In Zhejiang University, there is a famous BBS named Freecity. Usually we call it 88.

Recently some students at the Humour board on 88 create a new game - Swordsmanship. Different from the common sword fights, this game can be held with three players playing together in a match. Only one player advances from the match while the other two are eliminated. Sometimes they also hold a two-player match if needed, but they always try to hold the tournament with as less matches as possible.

输入:

The input contains several test cases. Each case is specified by one positive integer n (0 < n < 1000000000), indicating the number of players. Input is terminated by n=0.

输出:

For each test case, output a single line with the least number of matches needed to decide the champion.

示例输入:

3
4
0

示例输出:

1
2

提示:

参考答案(内存最优[748]):

#include<stdio.h>

int   main( )

{int m,n;

scanf("%d",&n);

while(n!=0)

  {m=n/2;

   printf("%d\n",m);

   scanf("%d",&n);

  }

  return 0;
}

参考答案(时间最优[12]):

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n;
    while(~scanf("%d",&n)&& n)
    {
            printf("%d\n",((n-1)%2 == 0)?(n-1)/2 : ((n-1)/2+1));
    }
return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注