題目描述:從1頁到n頁,統計0到9出現的次數
#include#include#includeusing namespace std;
int main();
int n;
cin>>n;
for(int i=1;i<=n;i++)
}for(int i=0;i<=9;i++)
這個公式可以這麼理解:
當n=21時,要減去的0有:10^0(紅色部分)+10^1(黃色部分)
當n=123時,要減去的0有:10^0(紅色部分)+10^1(黃色部分)+10^2(灰色部分)
步驟六:輸出
(ps,做的時候遇到了乙個坑,pow(a,b)函式因為精度問題,有時會輸出不準確的結果,所以,在前面加乙個round函式,就準確了……我算的時候pow(10.0,len)len是2結果算出來是99……,這個問題還是需要注意的!)
**如下:
#include#include#includeusing namespace std;
int c[10];
void solve(int n)
for(int i=0;i>n)
for(int i=0;i<10;i++)}}
1 1 統計數字問題
題解 000.0 999.9 n個9 則0 9中每個數字出現的次數都是n 10 n 1 即每個數字出現次數相同。但是因為不含前導0.所以要把多算的0給去掉。具體的,設n這個數字的長度為l,則需要減去1111.1 l個1 個多餘的0.然後做個數字dp就好。詳見 include include incl...
統計數字問題
在王曉東編著的 演算法設計與實驗題解 中看到的這個問題,問題描述如下 一本書的頁碼從自然數1開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如第6頁用6表示而不是06或006。數字統計問題要求對給定書的總頁碼,計算出書的全部頁碼中分別用到多少次數字0,1,2,...
統計數字問題
問題描述如下 一本書的頁碼從自然數1開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如第6頁用6表示而不是06或006。數字統計問題要求對給定書的總頁碼,計算出書的全部頁碼中分別用到多少次數字0,1,2,3,9。演算法設計與分析習題 分析 考察由0,1,2.9...