题目:
问题描述
 有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。
输入格式
 输入一行包含一个整数 n。
输出格式
 输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。
样例输入
 20
样例输出
 20 10 5 2 1
数据范围
 对于 80% 的评测用例,1 ≤ n ≤ 109
 对于所有评测用例,1 ≤ n ≤ 1018
  
思路:
直接从n往后除
除到1停止除法
每次除的时候输出价格
代码详解:
#include<stdio.h>
#include<iostream>
using namespace std;
typedef long long ll;
#include<algorithm>
#include<cmath>
int main()
{
    ll n;
    cin>>n;
    while(n)
    {
		printf("%lld ",n);
		n/=2;
	}
    return 0;
}PS:送分题,一定要拿下
不经一番寒彻骨,怎得梅花扑鼻香。____黄蘖禅师《上堂开示颂》










