文章

81

粉丝

2

获赞

423

访问

7.9k

头像
进制转换 题解:
P1178 北京大学上机题
发布于2026年3月15日 13:53
阅读数 179

#include <iostream>
#include <string>
using namespace std;

int main(){
	string n;

	while(cin >> n){
		if(n=="0"){
			cout << 0 << endl;
			continue;
		}

		string ans="";

		while(n!="0"){
			int r=0;

			for(int i=0;i<n.size();i++){
				int cur=r*10+(n[i]-'0');
				n[i]=cur/2+'0';
				r=cur%2;
			}

			ans = char(r+'0') + ans;

			while(n.size()>1 && n[0]=='0')
				n.erase(0,1);
		}

		cout << ans << endl;
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发