勇气(Courage)

题目背景

数学家渴求真理的美德,永不停歇的力量的源泉 —— 勇气。


「勇气之光」乔伊,是杜沃夫族的接任族长,也是拥有古代战神之力的战士。

题目描述

乔伊有一项技能,可以将 x x x 的攻击力强化为 x 2 x^2 x2。但这个技能并不完美,除了第一次之外,每一次使用该技能前,攻击力都会衰减到之前的一半。

比如最初的攻击力为 6 \color{red}6 6,强化后变成 6 2 = 36 6^2=\color{red}{36} 62=36。而在下一次强化前,会先衰减到 36 / 2 = 18 36/2=18 36/2=18,然后再强化为 1 8 2 = 324 18^2=\color{red}{324} 182=324

乔伊想知道,如果最初的攻击力为 x x x,至少需要多少次强化,可以使其不小于 2 n 2^n 2n
如果无论强化多少次,都不可能达到要求,请输出 inf

输入格式

输入一行两个正整数 x , n x,n x,n。分别表示初始攻击力为 x x x,以及要达到 2 n 2^n 2n 的攻击力。

输出格式

输出一行一个整数或字符串 inf,表示答案。

样例 #1

样例输入 #1

2 1

样例输出 #1

0

样例 #2

样例输入 #2

3 6

样例输出 #2

3

样例 #3

样例输入 #3

16 335

样例输出 #3

7

提示

【样例 1 1 1 解释】
初始攻击力 x = 2 x=2 x=2 就已经达到了 2 n = 2 2^n=2 2n=2,不需要使用技能就满足了要求,故答案为 0 0 0

【样例 2 2 2 解释】
初始攻击力为 3 3 3,需要达到 2 6 = 64 2^6=64 26=64。第一次用技能后变为 9 9 9,第二次后变为 ( 9 / 2 ) 2 = 81 / 4 (9/2)^2=81/4 (9/2)2=81/4,第三次变为 ( ( 81 / 4 ) / 2 ) 2 = 6561 / 64 ((81/4)/2)^2=6561/64 ((81/4)/2)2=6561/64,已经达到了要求,故答案为 3 3 3

【数据范围】
本题采用捆绑测试。

Subtask 1(15 pts): n ≤ 60 n\le 60 n60
Subtask 2(20 pts): x = 4 x=4 x=4
Subtask 3(25 pts): n ≤ 1 0 5 n\le 10^5 n105
Subtask 4(40 pts):无特殊限制。

对于全部的数据, 2 ≤ x ≤ 1 0 9 2\le x\le 10^9 2x109 1 ≤ n ≤ 1 0 9 1\le n \le 10^9 1n109

Scratch实现

在这里插入图片描述

后续

接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

Logo

2万人民币佣金等你来拿,中德社区发起者X.Lab,联合德国优秀企业对接开发项目,领取项目得佣金!!!

更多推荐