递归法
#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);
}



京公网安备 11010502036488号