幸运数字 题解
题目在主页,如有出错请指出
include <bits/stdc++.h>
using namespace std;
bool islucky(int n)
{
string s;
while (n)
{
s += n % 2 + '0';
n /= 2;
}
reverse(s.begin(), s.end());
for (int i = 0;i < s.size();i++)
{
if (i == 0)
{
if (s[i] != s[i + 1]) return 0;
}
else if (i == s.size())
{
if (s[i] != s[i - 1]) return 0;
}
else if (s[i] != s[i - 1] && s[i] != s[i + 1]) return 0;
}
return 1;
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
int cnt = 0;
for (int i = a;i <= b;i++)
if (islucky(i)) cnt++;
cout << cnt << endl;
return 0;
}