循环:
#include<iostream>
#include<cmath>
using namespace std;
int tobinary(int d){
int b=0,k=0;
do{
b=(d%2)*pow(10,k++)+b;
}while(d=d/2);
return b;
}
int main(){
int a;
cin>>a;
cout<<tobinary(a)<<"\n";
return 0;
}
递归:
#include<iostream>
#include<cmath>
using namespace std;
//d是十进制数 b是转换的二进制数 k是二进制的位数
int tobinary(int d,int b,int k){return d/2?tobinary(d/2,(d%2)*pow(10,k)+b,k+1):(d%2)*pow(10,k)+b;}
int main(){
int a;
cin>>a;
cout<<tobinary(a,0,0)<<"\n";
return 0;
}