记数问题 用 vector +count

对于这个问题 要统计0~9 出现的个数。
可以分为两种情况:
一,数字小于10
可以直接push_back();放入vector里。

二,数字大于10
首先想到的就是把数字一位一位 拆分出来 放到vector 最后统计个数。
拆分个位:n=n%10;
进位 :n/=10;


详细代码如下

#include<bits/stdc++.h>
using namespace std;


int main()
{
  int n,m,k;
  cin>>n>>m;
  vector<int>v;
  for(int i=1;i<=n;i++)
  {    if(i<10)
          v.push_back(i);
      else{ k=i;
           while(k!=0)
           {
           v.push_back(k%10);
           k/=10;

         }
      }
  }
      cout<<count(v.begin(),v.end(),m);
    return 0;
 }