问题 4643 --小铭铭和他的序列

4643: 小铭铭和他的序列

时间限制: 1 Sec  内存限制: 128 MB
提交: 281  解决: 141
[提交][状态][命题人:]

题目描述

小铭铭和小严严一样,是一个有竞争力的程序员。他完全可以像小严严一样参加奥赛,但他对奥赛上提出的下面这个算法感到困惑。

让我们考虑以下生成整数序列的算法。最初我们有一个序列,由唯一一个元素1组成。然后我们执行n - 1个步骤。在每一步中,我们采用上一步的序列,将它附加到当前序列的末尾,并在中间插入没有使用过的最小正整数。例如,我们在第一步之后得到序列 [1, 2, 1],在第二步之后得到序列 [1, 2, 1, 3, 1, 2, 1]。

任务是在第n步得到的序列中找到第k个元素(元素从1开始编号)的值,即在n - 1步后的序列。

请帮助小铭铭解决这个问题!

输入

一行,包含两个整数n和k(1 ≤ n≤ 50, 1 ≤ k ≤ 2^n - 1)。

输出

一行,序列中第k个位置的整数。

样例输入
Copy
3 2
样例输出
Copy
2

提示

样例2输入

4 8

样例2输出

4

注释:

1)在第一个样例中,获得的序列为[1, 2, 1, 3, 1, 2, 1]。第二个元素是2。

2)在第二个样例中,获得的序列为[1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1]。第八个元素是4。

来源

[提交][状态]