P8711 题解

· · 题解

题解

题目很简短,直接看描述就可以理解。

题目传送门

根据题目模拟即可,循环每次把 n \div 2,之后输出,直到 n \le 0 跳出循环。

最后要注意一下数据范围,1\le n\le10^{18},要开long long才能通过本题。

参考代码

#include<iostream>
using namespace std;
int main()
{
    long long n;
    cin>>n;
    for(;n>0;n/=2)//这里写了个省略循环开始条件的for循环
        cout<<n<<" ";
    return 0;
}