P10602: 数字谜题

传统题
1.000s 时间限制
128MB 内存限制
3 提交
1 解决

【题目描述】
【题目描述】 小林最近迷上了数字谜题。在他的数学课上,老师介绍了不同进制之间的转换,特别是十进制和二进制之间的转换。老师提到,二进制是一种数字系统,它仅使用两个数字:0和1。在二进制系统中,每个位置的数值代表的是2的幂次方,从最右边开始,第一位是2的0次方,第二位是2的1次方,依此类推。每个位的值取决于它是0还是1,并且整个数字的值是所有位的值的总和,例如,二进制101转换成十进制的值为5(即 1*(2^2)+0*(2^1)+1*(2~0))。在一次课堂上,老师提出了一个挑战性的数字谜题,给定一个十进制整数,将其转换为二进制表示,并在这个二进制序列中找出最长的连续1的个数。如11101中最长的连续1个数为3。现在小林希望编写一个程序,对于输入的任何数字都得到数字谜题的答案。 【输入格式】 第一行包含一个正整数T,表示一共有T个数字谜题需要解决。 接下来T行,每行一个正整数x,对于输入的每个数字谜题,都需要输出对应的答案。 【输出格式】 输出T行,每行一个整数表示将x转换为二进制表示,并在这个二进制序列中找出最长的连续1的个数。 【样例输入1】 3 3 7 10 【样例输出1】 2 3 1 【数据范围与约定】 对于30%的数据,1≤x≤100,1≤T≤10。 对于100%的数据,1≤x≤le18,1≤T≤100000。
【输入】

第一行包含一个正整数T,表示一共有T个数字谜题需要解决。

接下来T行,每行一个正整数x,对于输入的每个数字谜题,都需要输出对应的答案。

【输出】
输出T行,每行一个整数表示将x转换为二进制表示,并在这个二进制序列中找出最长的连续1的个数。
【样例输入】复制
3
3
7
10
【样例输出】 复制
2
3
1

题目类型~

信息素养大赛模拟题 

咻咻~

提交答案 状态