若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1638: Head-to-Head Match

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,422

题目描述

Our school is planning to hold a new exciting computer programming contest. During each round of the contest, the competitors will be paired, and compete head-to-head. The loser will be eliminated, and the winner will advance to next round. It proceeds until there is only one competitor left, who is the champion. In a certain round, if the number of the remaining competitors is not even, one of them will be chosed randomly to advance to next round automatically, and then the others will be paired and fight as usual. The contest committee want to know how many rounds is needed to produce to champion, then they could prepare enough problems for the contest.

输入

The input consists of several test cases. Each case consists of a single line containing a integer N – the number of the competitors in total. 1 <= N <= 2,147,483,647. An input with 0(zero) signals the end of the input, which should not be processed.

输出

For each test case, output the number of rounds needed in the contest, on a single line.

样例输入

8
16
15
0

样例输出

3
4
4

参考代码

#include <stdio.h> 
#include <math.h> 
int main() 
{
    int n;
    while(scanf("%d",&n)&&n) 
    {
        if(n==1)printf("0n");
        else printf("%dn",(int)(log(n-1)/log(2))+1); 
    }
    return 0; 
}

解析

暂无

hustoj

发表评论 取消回复

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

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Skip Dreams孤独患者 原站点
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist