循環:
#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;
}