3029: 05-12-A02-翻倍(1)(L3)
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:26
解决:21
题目描述
一个数n,初始为1,每次翻倍,就是每次乘以2,依次变为1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, …。我们想知道,第几次翻倍后,n的值超过一个给定的数m?
【提示】前面我们只学过了for循环,for循环适合于知道要循环多少次的情形。但是,本题并不知道要翻倍多少次,翻倍多少次是要我们求的。
那能用for循环求解吗?其实也是可以的。for循环中的表达式2是表示循环条件,对本题而言就是在什么情况下还要翻倍,因此循环条件就是n<=m。因此,本题完全可以用for循环实现。
输入
输入一个正整数m,m≤1000000000。
输出
输出占一行,为求得的答案。
样例输入 复制
1000
样例输出 复制
10
提示
正整数m,m≤1000000000。