有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。
输入一行包含一个整数 n。
输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。
1≤n≤10的18次方
20
20 10 5 2 1
- #include
- #include
-
- using namespace std;
-
- typedef long long LL;
-
- int main()
- {
- LL n;
- cin >> n;
-
- while (n)
- {
- cout << n << ' ';
- n /= 2;
- }
-
- return 0;
- }