二进制?十进制!

二进制?十进制!

https://ac.nowcoder.com/acm/contest/19306/1010

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

}

全部评论
qiang
点赞 回复 分享
发布于 2023-04-03 19:44 湖南

相关推荐

11-07 16:07
深圳大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务