1514: 棋盘上的米粒

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:288 解决:91

题目描述

从前,有个大臣救了国王一命。国王要感谢一个大臣,就说,你有啥想要的没,我都满足你。大臣说,我要的不多,只要在棋盘的第一个格子里装 1 粒米,第二个格子里装 2 粒,第三个格子里装 4 粒,第四个格子里装 8 粒,以此类推,直到把 64 个格子装完。

国王说,你就这点要求吗,要不要换一个?大臣连说,不换了,不换了。国王大笑,你一定得偿所愿的。

国王招呼人给大臣准备大米,已知国库里有 n 个米粒,国王从第一个格子开始放米粒。可是随着格子一个一个被填满,国王的脸色越来越凝重……

当放到第 k 个格子时,国库里所有的米粒都被用光了!

聪明的你能否找到 k 的大小?

输入

多组测试数据,每组只有一个整数 n (1 n 1018) 

测试数据以 EOF 结束

输出

每组测试数据包含一行,每行只有一个整数 k

样例输入 复制

1
4

样例输出 复制

1
3

提示

样例解释: 
第一组数据:
一共 1 粒米
第一个格子放 1 粒米,米粒用完
k = 1


第二组数据:
一共 4 粒米
第一个格子放 1 粒米,此时还剩下 3 粒米
第二个格子放 2 粒米,此时还剩下 1 粒米
第三个格子放 1 粒米 ,米粒用完
k = 3

来源/分类