4948: 二进制中的1
时间限制: 1.000 Sec 内存限制: 128 MB
提交: 232 解决: 213
[命题人:][下载数据: 60]
题目描述
给定一个正整数N,请找出N转化为二进制后,其中所有1的位置。二进制的最低位(最右侧)为第0位。
输入
一个正整数N ( 1 ≤ N ≤ 1000000)
输出
N转换为二进制后,所有1的位置,每两个位置中间用一个空格隔开
样例
输入 复制
13
输出 复制
0 2 3
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,w=-1;
cin>>n;
while(n!=0){
w++;
if(n%2==1) cout<<w<<' ';
n/=2;
}
return 0;
}