tag:枚举
题意:好数的定义为一个数的奇数位全是奇数,偶数位全是偶数,问给定一个n,求从1到n好数的个数
思路:这道题可以直接枚举从一到n,找到了一个答案就ans++;
时间复杂度为O(7n),代码思路参考知乎博主长途
#include<iostream>
using namespace std;
int main()
{
int n, ans=0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
int val = i;
bool flag = true;
int idx = 1;
while (val) {
if (val % 2!=idx) {
flag = false;
break;
}
val /= 10;idx ^= 1;
}
if (flag) ans++;
}
printf("%d\n", ans);
return 0;
}