#5711. 数字谜题(number)

数字谜题(number)

数字谜题(number)

【题目描述】

小林最近迷上了数字谜题。在他的数学课上,老师介绍了不同进制之间的转换,特别是十进制和二进制之间的转换。老师提到,二进制是一种数字系统,它仅使用两个数字: 010和1 。在二进制系统中,每个位置的数值代表的是 2 的幂次方,从最右边开始,第一位是 202的0 次方,第二位是 212的1 次方,依此类推。每个位的值取决于它是 0 还是 1 ,并且整个数字的值是所有位的值的总和,例如,二进制 101 101 转换成十进制的值为5(即1(22)+0(21  )+1(20))1*(2^ 2)+0*(2^1~~)+1*(2^0))。在一次课堂上,老师提出了一个挑战性的数字谜题,给定一个十进制整数,将其转换为二进制表示,并在这个二进制序列中找出最长的连续1的个数。如11101中最长的连续1个数为3。

现在小林希望编写一个程序,对于输入的任何数字都得到数字谜题的答案。

【输入格式】

第一行包含一个正整数 T ,表示一共有 T 个数字谜题要解决。接下来 T 行,每行一个正整数 x ,对于输入的每个数字谜题,都需要输出对应的答案。

【输出格式】

输出 TT 行,每行一个整数表示将x转换为二进制表示,并在这个二进制序列中找出最长的连续1的个数。

【样例输入1】

10
88
85
34
88
32
95
75
47
40
38

【样例输出1】

2
1
1
2
1
5
2
4
1
2

【数据范围与约定】

对于 30%的数据,1x1001T101≤x≤100,1\le T \le 10。

对于 100%的数据1xle18,1≤x≤le18, 1T1000001≤T≤100000。