题解:P5720 【深基4.例4】一尺之棰
GoldenSTEVE7 · · 题解
题意
题目给定一个数字,让你对其不停除以
思路
我们要使用一个不同于 for 的循环,它的名字叫做 while。
它的语法如下:
while(/**/) {
/**/;
/**/;
}
第一行内所填入的是一个 bool 类型的参数,在每一次操作前,若这个变量为真,那么进行大括号内的操作,否则跳出循环。
需要注意的是,括号内的参数是运行的条件,而不是退出循环的条件。
那么我们来“翻译”一下题目:如果变量
想懂这个后就可以开始写代码了。
代码
#include<iostream>
using namespace std;
int main() {
long long n, ans = 1; // 需要注意的是,答案的初始值应该设置为 1
cin >> n;
while(n > 1) {// while 循环
ans++;
n /= 2;
}
cout << ans;
return 0;
}