链接:https://ac.nowcoder.com/acm/contest/19306/1010 来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
给定两个十进制整数 : AA,BB
你需要把它们的二进制形式以十进制的运算法则相加输出结果。
例如:
A = 3 , B = 2A=3,B=2 的时候,AA 的二进制表示是 : 1111 , BB 的二进制表示是 1010 ,你需要输出答案为 : 2121
输入描述:
一行两个十进制整数: AA,BB
输出描述:
一行一个整数,表示相加的结果。
示例1
输入
2 3
输出
21
示例2
输入
5 4
输出
201
对于 100 % 的数据:
1 <= A,B <= 327681<=A,B<=32768
关于一个十进制数如何转化为二进制:
将十进制数每次除以 22 ,取余数,直到这个数变为0,最后将得到的余数反向记录就是原十进制数的二进制形式。
例子:
1
2
3
4
10-----> 5余下 0
5------> 2余下 1
2------> 1余下 0
1------> 0余下 1
最后得到 1010 的二进制表示就是 10101010
#include
long long f(int a) {
if(a<2)return a;
return f(a/2)*10+a%2;
}
int main() {
int a,b;
scanf("%d%d",&a,&b);
printf("%lld",f(a)+f(b));
}