首页 > 代码库 > zju 1383 Binary Numbers
zju 1383 Binary Numbers
#include <iostream>using namespace std;int a[1000];int f(int n){ int k=0; while(n) { a[k++]=n%2; n/=2; } return k;}int main(int argc, char *argv[]){ int n,m,k,q; while(cin>>q) { while(q--) { cin>>n; m=f(n); for(int i =0,k=0;i<m;i++) if(a[i]==1) { k++ ; if(k==1) cout<<i; else cout<<" "<<i;} cout<<endl; } } return 0;}
#include <iostream>
using namespace std;
int a[1000];
int f(int n)
{
int k=0;
while(n)
{
a[k++]=n%2;
n/=2;
}
return k;
}
int main(int argc, char *argv[])
{
int n,m,k,q;
while(cin>>q)
{
while(q--)
{
cin>>n;
m=f(n);
for(int i =0,k=0;i<m;i++)
if(a[i]==1) { k++ ; if(k==1) cout<<i; else cout<<" "<<i;}
cout<<endl;
}
}
return 0;
}
#include<vector>#include <iostream>using namespace std;int main(int argc, char *argv[]){ vector<int>v; int n,a ; cin>> n ; for (int i=0 ;i<n ;i++) { cin>>a ; v.clear(); for (int j=a ; j ; j=j/2) { v.push_back(j%2 ? 1: 0); //添加到容器中0,1 } int p=0 ; // 第一次输出 for (int k=0 ; k<v.size();k++) { if (v[k]==1) { if (p==0) cout<<k; else cout<<" "<<k; p=1; } } cout<<endl; } return 0;}
#include<vector>#include <iostream>using namespace std;int main(int argc, char *argv[]){ vector<int>v; int n,a ; cin>> n ; for (int i=0 ;i<n ;i++) { cin>>a ; v.clear(); for (int j=a ; j ; j=j/2) { v.push_back(j%2 ? 1: 0); //添加到容器中0,1 } int p=0 ; // 第一次输出 for (int k=0 ; k<v.size();k++) { if (v[k]==1) { if (p==0) cout<<k; else cout<<" "<<k; p=1; } } cout<<endl; } return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。