解题思路:主要看数据量,不是很大的都考虑先模拟。(求赞!)
注意事项:
看清题,是奇数还是偶数分清楚,今年考的时候就看错了,还好改了
参考代码:
#include<iostream>
using namespace std;
bool chack(int i)
{
if(i==1||i==3||i==5||i==7||i==9)
{
return true;
}
int f=1;//记录当前是偶数还是奇数
while(i>0)
{
int x=i%10;//取第一位
if(f%2!=0&&x%2==0)//当前应该是奇数,但是取出来的数是偶数,不符合直接返回;
{
return false;
}
if(f%2==0&&x%2!=0)同理
{
return false;
}
f++;//位数进行增长
i=i/10;//舍弃最后一位,接着方便取下一位
}
return true;//如果符合所有条件就返回真;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);//提高速度
int a,b;//计数
cin>>a;
for(int i=1;i<=a;i++)
{
if(chack(i))
{
b++;
}
}
cout<<b;
return 0;
}
0.0分
0 人评分