题解:P5720 【深基4.例4】一尺之棰

· · 题解

while 来模拟即可,其语法为 while(){},如果满足小括号中的内容就将执行大括号中的内容,并再次判断此时是否满足小括号中的内容。这里小括号中应为 n!=1,因为只要 n 不为 1 我们就要继续除。

每次循环将 n 除以 2,并将用于统计答案的变量 sum 加一即可。

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n,sum=0;
    cin>>n;
    while(n!=1){
        n=n/2;
        sum++;
    }
    cout<<sum+1;
    return 0;
}