【题目描述】
大家都知道,数据在计算机里面是以二进制的形式存储的。
有一个同学他学习了二进制转换之后,他想自己实际操作一下。现在有一个非负整数 x,他想将其转换为二进制,你能帮解决吗?
【输入】
输入的第一行包含一个整数 tt(2≤t≤1000)。
接下来tt行,每一行有一个数字 xx(1≤x≤108),是非负整数。
【输出】
tt 行每行一个二进制串,即每个 x 对应的二进制数。(不要有前导零)
【输入样例】
4
1
2
3
4
【输出样例】
1
10
11
100
源代码:
#include<bits/stdc++.h> using namespace std; void f(long long a){ string s; while(a!=0){ s+=char(a%2+48); a/=2; } int jl=0; for(int i=s.size()-1;i>=0;i--){ if(jl==0&&s[i]=='0'){ continue; }else if(s[i]!='0'){ jl=1; } cout<<s[i]; } return ; } int main(){ long long t; cin>>t; long long aa; for(int i=1;i<=t;i++){ cin>>aa; f(aa); cout<<"\n"; } return 0; }