洛谷P1554 梦中的统计
·
P1554 梦中的统计
题目背景
Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。
题目描述
Bessie 的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0…90 \ldots 90…9):每一个数码在计数的过程中出现过多少次?
给出两个整数 MMM 和 NNN,求在序列 [M,M+1,M+2,…,N−1,N][M, M + 1, M + 2, \ldots, N - 1, N][M,M+1,M+2,…,N−1,N] 中每一个数码出现了多少次。
输入格式
第 111 行: 两个用空格分开的整数 MMM 和 NNN。
输出格式
第 111 行: 十个用空格分开的整数,分别表示数码 0…90 \ldots 90…9 在序列中出现的次数。
输入输出样例 #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^91≤M≤N≤2×109,N−M≤5×105N-M \leq 5 \times 10^5N−M≤5×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;
}
更多推荐



所有评论(0)