【创造者】P1554 梦中的统计

题目背景

Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。

题目描述

Bessie 的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0 \ldots 90…9):每一个数码在计数的过程中出现过多少次?

给出两个整数 MM 和 NN,求在序列 [M, M + 1, M + 2, \ldots, N - 1, N][M,M+1,M+2,…,N−1,N] 中每一个数码出现了多少次。

输入格式

第 11 行: 两个用空格分开的整数 MM 和 NN。

输出格式

第 11 行: 十个用空格分开的整数,分别表示数码 0 \ldots 90…9 在序列中出现的次数。

输入输出样例

输入 #1

129 137

输出 #1

1 10 2 9 1 1 1 1 0 1

说明/提示

数据保证,1 \leq M \leq N \leq 2 \times 10^91≤M≤N≤2×109,N-M \leq 5 \times 10^5N−M≤5×105。

 定义空数组:

	int n,m,b[10]={};

每位上的数:

			b[(a%10)]++;

除去一位数:

			a/=10;

循环遍历所有字母:

		while(a!=0){
			b[(a%10)]++;//每位上的数
			a/=10;//除去一位数
		}

从n到m每个数算一遍:

	for(int i=n;i<=m;i++){
		int a=i;
		while(a!=0){
			b[(a%10)]++;//每位上的数
			a/=10;//除去一位数
		}//循环遍历所有字母
	}

输出每个数出现的个数:

	for(int i=0;i<=9;i++){
		cout<

源代码:

#include
using namespace std;
int main(){
	int n,m,b[10]={};//定义空数组
	cin>>n>>m;
	for(int i=n;i<=m;i++){
		int a=i;
		while(a!=0){
			b[(a%10)]++;//每位上的数
			a/=10;//除去一位数
		}//循环遍历所有字母
	}//从n到m每个数算一遍
	for(int i=0;i<=9;i++){
		cout<

你可能感兴趣的:(c++入门,洛谷题解,c++,入门)