【输入】
整数n
【输出】
多个整数,相邻整数用空格隔开
【例如输入】
20
【输出】
20 10 5 2 1
法一:
#include<iostream>
using namespace std;
int main()
{
long long num;
int nums[100], i;
cin >> num;
cout << num << " ";
for (i = 0; num > 0; i++)
{
nums[i] = num / 2;
num /= 2;
}
for (int j = 0; j < i - 1; j++)
{
cout << nums[j] << " " ;
}
return 0;
}
法二:位运算
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long num;
cin >> num;
while (num > 0)
{
cout << num << " ";
num = num >> 1; //右移一位
}
return 0;
}