題目連結: https://zerojudge.tw/ShowProblem?problemid=d658
# 解題思路
最少的次數就是大於他的最小 2n 的 n
舉個例子好了:如果我像要輸出 10 個
23 = 8 < 10
34 = 16 > 10
所以答案就是 4
那所求就是 ceil (log2n),其中的 ceil () 是無條件進位的意思
# 程式碼
#include <iostream> | |
#include <cmath> | |
using namespace std; | |
int main(){ | |
int n,cnt=0; | |
while(cin>>n&&n>0){ | |
cnt++; | |
cout<<"Case "<<cnt<<": "<<ceil(log2(n))<<endl; | |
} | |
} |