題解 P1554 【夢中的統計】
阿新 • • 發佈:2018-12-27
題面:
題目背景
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; }