12.洁净数

问题描述:
        小明非常不喜欢数字2,包括那些数位上包含数字2的数。如果一个数的数位不包含数字2,小明将它称为洁净数。请问在整数1至n中,洁净数有多少个?

思路:

其实这道题思路无非就2个方法

【1】for/while 把每一个的数位的经过一次,看里面是否有二

【2】把数字变成字符串,使用find

代码:

#include 
#include
#include
using namespace std;
bool panduan(int n){
    string s=to_string(n);
    if(s.find('2')!=-1) return false;
    else                return true;
}
int main()
{
   int n,i;
   cin>>n;
   int cnt=0;
   for(i=1;i<=n;i++){
     if(panduan(i)) cnt++;
   }
   cout<

你可能感兴趣的:(蓝桥杯每年真题,c++,算法,数据结构)