记数问题 用 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; }