2141: 01champion

内存限制:128 MB 时间限制:5 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:0

题目描述

一世纪一度的银河系乒乓球大赛即将在月球举办,对于每个存在智慧生物的星球,都需要派出一个该星球最厉害的选手来月球参加比赛。对于每个星球,他们会选择统一的选拔制度来决出最厉害选手。选拔分为若干轮,刚开始该星球所有人都要参与选拔,假设n为当前未被淘汰的人数,选拔按以下流程进行:
i) 如果n<=1,选拔结束;
ii) 把这n个人依次标号为0,1,2,3,…,(n-1)(程序猿数数都是从0开始的);
iii) 把他们按两人一组进行分组,分为n/2组,其中ii XOR 1分在同一组(XOR就是程序猿经常使用的异或);如果n为奇数,则标号最大的人在这轮比赛轮空,不参加比赛,直接晋级下一轮;
iv) 每组通过一局比赛淘汰一个人,回到步骤i)
现在告诉你X星球有n个人,请你计算出X星球要通过多少场比赛来选拔选手。

输入格式

输入包含多个测试数据,每个测试数据占一行,为一个合法的十进制非负整数n,它的长度不超过100000。测试数据到文件尾。

输出格式

对于每个输入测试数据,输出相应的答案。

输入样例 复制

2
3

输出样例 复制

1
2

数据范围与提示

当人数为2的时候,他们只需要通过一场比赛就能决出优胜者;
当人数为3的时候,
第一轮:比赛0号和1号决出一个胜者;
第二轮:0号和1号的中的胜者和原先的2号进行比赛决出一个胜者。
比赛场数和比赛有几轮不是一个概念。。