Problem1704--语句复制

1704: 语句复制

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 4  Solved: 0
[Status] [Submit] [Creator:]

Description

你刚刚学会用 printf("Hello World!\n") 向世界问好了,因此非常兴奋,希望输出n条"Hello World"信息,
但你还没有学习循环语句,因此只能通过复制/粘贴的方式用n条printf语句来解决。
比如,经过一次复制/粘贴后,一条语句会变成两条语句,再经过一次复制/粘贴后,两条语句会变成四条语句……
至少需要复制/粘贴几次,才能使语句的条数恰好为n?
(注意:每次可以只复制/粘贴一部分语句)

Input

输入仅含一行。一个正整数 N

Output

输出仅含一行。输出最小复制/粘贴次数。

Sample Input Copy

样例1
2
样例2
10

Sample Output Copy

样例1
1
样例2
4

HINT

【数据规模和约定】
对于 100%的数据,满足 1≤N≤10000


样例解释:
样例一: 只需将一条句子复制/粘贴一次。
样例二: 先将一条句子重复复制/粘贴三次,得到八条句子,再将其中两条复制/粘贴一次即可得到十条句子。一共四次操作。

解题思路:
    int a=1,j=0;  //a记录语句的条数,j记录复制粘贴的次数 
    while(语句的条数a小于n){
        a每次翻两倍;    
        j++;     
    }


Source/Category