计算数字k在0到n中的出现的次数,k可能是0~9的一个值

(数学方法获得)通过与10的余数得到末位,通过与10除去掉末位,构成一个循环,就可以分析一个数的所有位。然后把所有位都加起来(从局部到整体)

int digitCounts(int k, int n) {
        // write your code here
        int cout=0;
        for(int i=k;i<=n;i++){
            int cur=i;
            while(true){
                int site=cur%10;
                if(k==site)
                    cout++;
                    if(cur/10==0)
                        break;
                cur/=10;
            }
        }
        return cout;
    }

猜你喜欢

转载自blog.csdn.net/htt789/article/details/79974509