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