1. 程式人生 > >題解 P1554 【夢中的統計】

題解 P1554 【夢中的統計】

題面:

題目背景

Bessie 處於半夢半醒的狀態。過了一會兒,她意識到她在數數,不能入睡。

題目描述

Bessie的大腦反應靈敏,彷彿真實地看到了她數過的一個又一個數。她開始注意每一個數碼(0..9):每一個數碼在計數的過程中出現過多少次?

給出兩個整數M 和N (1 ≤M ≤N ≤2,000,000,000 以及N-M ≤500,000),求每一個數碼出現了多少次。

例如考慮序列129--137: 129, 130, 131, 132, 133, 134, 135, 136, 137。統計後發現:

0出現了1次,1出現了10次,2出現了2次,3出現了9次,4出現了1次,5出現了1次,

6出現了1次,7出現了1次,8出現了0次,9出現了1次。

輸入輸出格式

輸入格式:

 

第1行: 兩個用空格分開的整數M 和N

 

輸出格式:

 

第1行: 十個用空格分開的整數,分別表示數碼(0..9)在序列中出現的次數。

 

輸入輸出樣例

輸入樣例#1: 
129 137
輸出樣例#1: 
1 10 2 9 1 1 1 1 0 1

這不是睡題

然而像我這種蒟蒻只能發最水題的題解。

以下是最短程式碼,濃縮精華。。。。

#include<bits/stdc++.h>
using namespace std; int sum[10]; int main() { int n,m; cin>>n>>m; for(int i=n;i<=m;i++) { int x=i; while(x>0) { sum[x%10]++; x=x/10; } } for(int i=0;i<=9;i++) cout<<sum[i]<<" "; return 0; }