为什么错了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

#include<bits/stdc++.h>
using namespace  std;
int a,b,ans; 
string s;
string _10to2(int n)
{
    s="";
    while(n)
    {
        s=char(n%2+'0')+s;
        n/=2;
    }
}
int  main( ) 
{
    cin>>a>>b;
    for (int i=a;i<=b;i++)
    {
        int it=i;
        string a=_10to2(it);
        int x=a.find("101");
        int y=a.find("010");
        if (x==-1 && y==-1)
            ans++;
    }
    cout<<ans;
    return 0;   
}

4 条评论

  • 这是我的代码

    #include<bits/stdc++.h>
    using namespace std;
    string decimalToBinary(int n){
        string s="";
        while(n){
            s=char(n%2+'0')+s;
            n/=2;
        }return s;
    }int main(){
        int a,b,sum=0;
        cin>>a>>b;
        for(int i=a;i<=b;i++){
            string c=decimalToBinary(i);
            bool flag=true;
            if(c.size()==1)flag=false;
            else{
                for(int j=0;j<c.length();j++){
                    if(c[j-1]!=c[j]&&c[j+1]!=c[j]){
                        flag=false;
                        break;
                    }
                }
            }if(flag)sum++;
        }cout<<sum;
        return 0;
    }
    
  • @ 2026-06-06 11:48:18

    @王宇浩 &&改成||

  • @ 2026-06-06 11:44:05
    #include<bits/stdc++.h>
    using namespace std;
    int a,b,cnt;
    string s="";
    bool isluck(string s)
    {
        for(int i=0;i<s.size();i++)
            if(s[i]!=s[i-1]&&s[i]!=s[i+1])
                return 0;
        return 1;
    }
    int main()
    {
        cin>>a>>b;
        for(int i=a;i<=b;i++)
        {
            int it=i;
            s="";
            while(it)
            {
                s=char(it%2+48)+s;
                it/=2;
            }
            cnt+=isluck(s);
        }
        cout<<cnt;
        return 0;
    }
    
  • @ 2026-06-01 21:02:24

    我是设了一个bool类型

    #include<bits/stdc++.h>
    using namespace std;
    int n,a,b,sum=0;
    string s;
    bool ok=1;
    string _10to2(int x)
    {
        s="";
        while(x)
        {
            s=char(x%2+'0')+s;
            x/=2;
        }
        return s;
    }
    int main()
    {
        cin>>a>>b;
        for(int i=a;i<=b;i++)
        {
            string a=_10to2(i);
            ok=1;
            if(s.size()==1)ok=0;
            for(int j=0;j<a.size();j++)
            {
                if(s[j]!=s[j-1]&&s[j]!=s[j+1])ok=0;
            }
            if(ok)sum++;
        }
        cout<<sum;
        return 0;
    }
    
  • 1

信息

ID
3112
难度
6
分类
(无)
标签
递交数
66
已通过
20
通过率
30%
上传者