九度 题目1138:进制转换
来源:互联网 发布:tensorflow 中文 编辑:程序博客网 时间:2024/06/02 04:31
九度 题目1138:进制转换
原题OJ链接:http://ac.jobdu.com/problem.php?pid=1138
题目描述:
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。
输入:
多组数据,每行为一个长度不超过30位的十进制非负整数。
(注意是10进制数字的个数可能有30个,而非30bits的整数)
输出:
每行输出对应的二进制数。
样例输入:
0138
样例输出:
01111000
解题思路:
30位的十进制数超出了long long int的范围,
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
思路分析参考的这位大神的博客:http://blog.csdn.net/wzy_1988/article/details/8640266
源代码:
#include<iostream>#include<cstdio> #include<cstring>using namespace std;int main(){ char str[30]; while(scanf("%s",str)!=EOF){ int sum=1; int N[105]; int i,j=0; while(sum){ sum=0; int len=strlen(str); for(i=0;i<len;i++){ int d=(str[i]-'0')%2; int x=(str[i]-'0')/2; sum=sum+x; if(i==len-1){ N[j]=d; j++; } else{ str[i+1] += d*10; } str[i]=x+'0'; } } for(i=j-1;i>=0;i--){ cout<<N[i]; } cout<<endl; } return 0;}
阅读全文
0 0
- 九度题目1138进制转换
- 九度 题目1138:进制转换
- 九度OnlineJudge题目1138:进制转换
- 九度OJ 题目1138:进制转换
- 【九度OJ】题目1138:进制转换 解题报告
- 九度OJ题目1138:进制转换
- 题目1138:进制转换 九度OJ
- 九度OJ 题目1080:进制转换
- 九度OJ 题目1080:进制转换
- 九度 oj 题目1080:进制转换
- 【九度】题目1080:大数进制转换
- 【九度OJ】题目1080:进制转换 解题报告
- 九度OJ 题目1080:进制转换
- 【学习笔记】〖九度OJ〗题目1138:进制转换
- 大数的任意进制之间的转换(九度OJ题目1080)
- 数制转换 (九度oj题目44)
- 九度OnlineJudge题目1118:数制转换
- 九度OJ 题目1118:数制转换
- nginx简单配置多个域名转向多个tomcat
- 模仿bootstrap写响应式图片布局
- 矩阵快速幂
- TP 框架解决Unknown column 'XXX' in 'where clause' 问题
- C++面向对象面试题知识点整理
- 九度 题目1138:进制转换
- IE和DOM事件流的比较
- JavaScript 常用方法总结
- java语言基础(20170905)
- 前端之js插件-ztree使用篇
- 常用的JQ获取屏幕宽度方法
- Hibernate事务与并发问题处理(乐观锁与悲观锁)
- 数据库(第一范式,第二范式,第三范式)
- java基础:面向对象(this和super的区别和应用)