#include<bits/stdc++.h>
using namespace std;
int n,m,sum;
string s;
string _10to2(int n){
s="";
while(n){
s=char(n%2+'0')+s;
n/=2;
}

return s;
}
int main(){
cin>>m>>n;
for(int i=m;i<=n;i++){
string a=_10to2(i);
int ok=1;
if(a.size()==1) ok=0;

for(int j=0;j<a.size();j++){
if(a[j-1]!=a[j]&&a[j+1]!=a[j]){
ok=0;
break;
}
}
if(ok) sum++;
}
cout<<sum;
}

1 条评论

  • @ 2026-06-06 11:44:51
    #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;
    }
    
  • 1

信息

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