链接: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));

}