题目描述:
某个兄得做梦还在统计数据,现在给了你两个数表示序列范围,现在问你这个序列中0~9各出现了多少次。
题解:
首先这个题目满足了N - M <= 5e5
所以可以直接暴力枚举,当然有的做法是先把N~M之间的整数数据转换成字符串然后再统计出现的数字个数。但是整体思路大差不差了。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int a[11] = {0};
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i = n;i <= m;i++){
int temp = i;
while(temp){
a[temp % 10]++;
temp /= 10;
}
}
for(int i = 0;i < 9;i++){
printf("%d ",a[i]);
}
printf("%d\n",a[9]);
return 0;
}