题解 | #二进制数#
二进制数
https://www.nowcoder.com/practice/103dd589fed14457a673c613d8de3841
//十进制->二进制 //核心:①n%2②n/2 #include<cstdio> #include<bits/stdc++.h> using namespace std; int main(){ int n; vector<int> arr;//动态数组arr while(scanf("%d",&n)!=EOF){ // scanf("%d",&n); int count=0,b;//b用来记录 n%2 后的b0----->bn; while(n>0){ b = n%2; count++;//多少个b累计以下作为以下输出的限制条件 arr.push_back(b);//每个b都从动态数组队尾插入 // printf("%d",b); n = n/2; } for(int i = count ; i > 0; --i){//注意逆序输出 printf("%d",arr[i-1]); } printf("\n"); } }