九度 1138
来源:互联网 发布:ubuntu16 更换软件源 编辑:程序博客网 时间:2024/06/07 03:19
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<stack>using namespace std;//判断是不是等于零bool judge(string s){int num=0;for(int i=0;i<s.length();i++)if(s[i]=='0')num++;if(num==s.length())return false;elsereturn true;}//返回两位数除以2以后的结果char change(int tt,char ch){int num=tt*10+(ch-'0');return char('0'+num/2);}int main(){string s;while(getline(cin,s)){//如果是0或者1,直接输出if(s=="0"||s=="1")cout<<s<<endl;//不然 进行以下运算else{stack<char> ss;//循环遍历,直到所有的数字都为零while(judge(s)==true){int index=-1;//找到第一个数字不为零的位for(int i=0;i<s.length()&&index==-1;i++)if(s[i]!='0')index=i;//如果位数最大的数字为零int tt=0;if(s[index]=='1'){tt=1;s[index]='0';index++;}//一次往下除2while(index!=s.length()){int temp=s[index]-'0';s[index]=change(tt,s[index]);if(temp%2==1)tt=1;elsett=0;index++;}if(tt==0)ss.push('0');elsess.push('1');}//把二进制里面的数字都输出while(ss.empty()==false){cout<<ss.top();ss.pop();}cout<<endl;}}return 0;}
0 0
- 九度 1138
- 九度oj 1138
- 大整数的除法 九度1138
- 九度题目1138进制转换
- 九度OJ 1138 进制转换
- 九度OJ-1138-进制转换
- 九度 题目1138:进制转换
- 【九度OJ】:九度OJ 1050
- 【九度OJ】:九度OJ 1053
- 【九度OJ】:九度OJ 1056
- 【九度OJ】:九度OJ 1059
- 【九度OJ】:九度OJ 1206
- 人生九度
- 九度oj1181
- 九度oj1207
- 九度oj1182
- 九度o j1026
- 九度oj1186
- ZOJ-1524
- 批处理文件启动或停止服务
- Smack XmppConnect分析
- hbase集群启动后regionserver拒绝访问
- weka中使用Liblinear
- 九度 1138
- WebView
- JavaSE12_序列化
- java GC总结
- 机器学习入门——单变量线性回归
- 程序员如何快速准备面试中的算法-July
- 基于STM32音响控制系统源代码(一)(音乐频谱显示)
- UCGUI窗体管理及消息处理机制分析
- linux卸载xfce等桌面环境后网络管理图标消失的解决办法