P1554 梦中的统计

题目背景

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

题目描述

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

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

输入格式

111 行: 两个用空格分开的整数 MMMNNN

输出格式

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

输入输出样例 #1

输入 #1

129 137

输出 #1

1 10 2 9 1 1 1 1 0 1

说明/提示

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

#include<bits/stdc++.h>
using namespace std;
int m,n;
int cnt[12];
bool f;
int main()
{
	scanf("%d%d",&m,&n);
	for(int i=m;i<=n;++i)
	{
		int temp=i;//必须将i赋值给另一个变量
		//否则无法完成循环 
		while(temp)
		{
			int t=temp%10;
			cnt[t]++;
			temp=temp/10;
		}
	}
	for(int i=0;i<=9;++i)
	{
		if(!f)//这一步是完美的保持格式,一个多余的
		//空格也不会产生 
		{
			f=true;
			printf("%d",cnt[i]); 
		}
		else
			printf(" %d",cnt[i]);
	}
	return 0;	
 } 
Logo

集算法之大成!助力oier实现梦想!

更多推荐