2130: 1001 champion

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:2 通过:1

题目描述

一世纪一度的银河系乒乓球大赛即将在月球举办,对于每个存在智慧生物的星球,都需要派出一个该星球最厉害的选手来月球参加比赛。对于每个星球,他们会选择统一的选拔制度来决出最厉害选手。选拔分为若干轮,刚开始该星球所有人都要参与选拔,假设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