题解 | #进制转换#

进制转换

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;
}

全部评论

相关推荐

蔡徐kun:还行,早挂晚挂都是挂。早点挂进池子等别人捞你
点赞 评论 收藏
分享
做人要有梦想dji:最新工位查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务