1.题目说明
有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。
2.输入格式
输入一行包含一个整数 n。
3.输出格式
输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。
4.数据范围
1≤n≤10的18次方
5.输入样例
20
6.输出样例
20 10 5 2 1
7.代码
#include <iostream>
#include <cstring>
using namespace std;
typedef long long LL;
int main()
{
LL n;
cin >> n;
while (n)
{
cout << n << ' ';
n /= 2;
}
return 0;
}