题目描述
小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。
请问在整数 1 至 n 中,洁净数有多少个?
输入描述
输入的第一行包含一个整数 (1≤n≤106)。
输出描述
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入
30
输出
18
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
#include<bits/stdc++.h>
using namespace std;
//取出并判断是否为含2
bool check(int x)
{
while(x)
{
if(x%10==2)//取每一位
return 0;
x/=10;//去掉最后一位
}
return 1;
}
int main()
{
int n,cnt=0;
cin>>n;
for(int i=1;i<=n;i++)
{
if(check(i))
cnt++;
}
cout<<cnt<<endl;
return 0;
}
//加油陌生人!OvO
加油陌生人OvO~