题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/0337e32b1e5543a19fa380e36d9343d7

#include <iostream>
#include <string.h>
#include <algorithm>

using namespace std;

string s,ans;

string convert(){
	for(int i = 0 ;i < s.size();){
		int k = 0;
		// k为余数
		for(int j = i;j < s.size();j ++){
			int t = (k * 10 + s[j] - '0') % 2;
			s[j] = (k * 10 + s[j] - '0') / 2 + '0';
			k = t;
		} 
		ans += (k + '0');
		while(s[i] == '0')i ++;
	}
	return ans;
}

int main(){
	while(cin >> s){
		ans = "";
		string answer = convert();
		reverse(answer.begin(),answer.end());
		cout << answer << endl;
	}
	return 0;
}

全部评论

相关推荐

01-14 12:08
门头沟学院 Java
神哥了不得:(非引流)1.既然发出来了简历,就稍微提一点点小建议,确实简历很不错了,练手项目可以换一些质量高的,工作内容,可以加上一些量化指标,比如第一条系统响应速度由多少变成多少,减少了百分之多少,第4条就很不错。2.广投,年前实习招募比较少了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务