递归法

#include<bits/stdc++.h>
using namespace std;
void toTwo(int n,int a,int k){
    if(n>9) {//非个位继续递归
        a+=(n%2)*k;//将最高位的数字对应加到最高位
        n/=10;
        k*=10;
        toTwo(n,a,k);
    }
    else {//补上最高位
        a+=(n%2)*k;
        cout<<a;
    }
}
int main(){
    int n,a=0,k=1;
    cin>>n;
    toTwo(n,a,k);
}