#AT1266. Caracal和怪物
Caracal和怪物
题目描述
Caracal 在打怪。
一开始,他的面前有一只怪,这个怪有 点血量。
每一次,他可以选择一个怪物进行攻击,具体方式如下:
-
如果这只怪兽的血量为 ,变为 ;
-
如果这只怪兽的血量 ,那么这只怪兽将分裂成两只,每只的血量为 。
(其中 表示 的整数中,最大的一个)
当所有存在的怪物血量全部 时,Caracal 就获胜了。
输出他在获胜之前的攻击次数。
输入
输入一个整数
输出
找出Caracal在获胜之前需要攻击的最小次数。
2
3
样例解释
当Caracal攻击初始怪物时,它消失了,然后出现了两个怪物,每个怪物的健康值为 1。
然后,Caracal可以攻击这两个新的怪物中的每一个一次,以总共三次攻击获胜。
4
7
1000000000000
1099511627775