1514: 棋盘上的米粒

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

题目描述

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

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

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

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

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

输入

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

测试数据以EOF结束

输出

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

样例输入复制

1 4

样例输出复制

1 3

提示

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


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

来源/分类

Baidu
map