蓝桥杯-好数
目录
蓝桥杯 好数
问题描述
一个整数如果按从低位到高位的顺序,奇数位 (个位、百位、万位 ⋯⋯ ) 上的数字是奇数,偶数位 (十位、千位、十万位 ⋯⋯ ) 上的数字是偶数,我们就称之为 “好数”。
给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。
输入格式
一个整数 N。
输出格式
一个整数代表答案。
样例输入 1
24
样例输出 1
7
样例输入 2
2024
样例输出 2
150
样例说明
对于第一个样例,24 以内的好数有 1、3、5、7、9、21、23,一共 7 个。
评测用例规模与约定
对于 10%的评测用例,1≤N≤100 。
对于 100% 的评测用例,1≤N≤
。
#include<iostream>
using namespace std;
int n;
int ans;
int check(int x)
{
int j=1;
while(x)
{
if(j%2==1)
{
if(x%2==0) return 0;
}
if(j%2==0)
{
if(x%2==1) return 0;
}
x /= 10;
j++;
}
return 1;
}
int main()
{
cin>>n;
for(int i=1; i<=n; ++i)
{
if(check(i)) ans++;
}
cout<<ans;
return 0;
}