题目描述:
“5421BCD”码是一种采用四位二进制数表示一位十进制数的编码,其各位的权依次位5、4、2、1,并要求大于等于5的十进制数所对应的编码最高位为1(如十进制数7所对应的“5421BCD”码为1010)。转换时,将十进制数从右至左按位转换成对应的“5421BCD”码,然后依次连接。
编写一个程序,输入十进制数,输出对应的“5421BCD”码。
输入格式:
一个正整数(10万以内)
输出格式:
一行5421BCD码
样例输入:
579
样例输出:
100010101100
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,b,s=0;
cin>>n;
while(n){
a=n%10;
s=s*10+a;
n/=10;
}
while(s){
b=s%10;
if(b==5){
cout<<"1000";
}else if(b==6){
cout<<"1001";
}else if(b==7){
cout<<"1010";
}else if(b==8){
cout<<"1011";
}else if(b==9){
cout<<"1100";
}
s/=10;
}
return 0;
}