文章
82
粉丝
344
获赞
28
访问
696.0k
#include <bits/stdc++.h>
using namespace std;
/*
1. 二进制数:向下取整
2. 负二进制数:向上取整
向上取整:n为负数n=n/(-2)
n为正数n=n/(-2)+1
不要忘记0的情况
*/
stack <int> s;
int n;
int main(){
while(scanf("%d",&n)!=EOF){
if(n==0){
cout<<"0"<<endl;
continue;
}
while(n){
s.push(abs(n%(-2)));
if(n>0){
if(n%(-2)==0){
n=n/(-2);
}
else{
&nb...
登录后发布评论
暂无评论,来抢沙发