1097 负二进制
    
学习交流
发布于2024年2月27日 20:05
阅读数 2.7k
 
    大佬们这个代码能运行但结果错误,能不能看看哪里错了?
#include<bits/stdc++.h>
using namespace std;
int main(){
    int x;
    string s;
    while(scanf("%d",&x)!=EOF){
        while(x!=0){//循环停止条件
            int a=x%(-2);
            int yu,sh;
            if(a==0||a==1){//余数为0或1
                yu=a;
                sh=(x-a)/(-2);
            }
            else if(a==(-1)){//余数为-1
                yu=1;
                sh=(x-1)/(-2);
 ...
    
    
        
        
        
 
    
        
        
登录后发布评论
string s;要放到while循环里,否则多组数据输入的时候会前面的结果会影响到后面的。
另外注意0要特判一下