統計數字問題

2021-06-16 03:29:48 字數 460 閱讀 7577

問題描述如下:

一本書的頁碼從自然數1開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如第6頁用6表示而不是06或006。數字統計問題要求對給定書的總頁碼,計算出書的全部頁碼中分別用到多少次數字0,1,2,3,.....9。

《演算法設計與分析習題》分析:

考察由0,1,2...9組成的所有n位數。從n個0到n個9共有10^n個n位數。在這10^n個n位數中,0,1,2.....9第個數字使用次數相同,設為f(n)。f(n)滿足如下遞推式:

n>1:    f(n) = 10f(n-1)+10^(n-1)

n = 1:  f(n) =1

由此可知,f(n) = n*10^(n-1)。

據此,可從高位向低位進行統計,再減去多餘的0的個數即可。

【注:**中的文字例子描述引用自

計算還挺煩的。。呼,幸好有文字描述的例子才慢慢推出來。

統計數字問題

在王曉東編著的 演算法設計與實驗題解 中看到的這個問題,問題描述如下 一本書的頁碼從自然數1開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如第6頁用6表示而不是06或006。數字統計問題要求對給定書的總頁碼,計算出書的全部頁碼中分別用到多少次數字0,1,2,...

統計數字問題

問題描述 給定乙個整數n,統計從1到n 數字最高位不允許為0 這麼多個數中0,1,2,3,4,5,6,7,8,9分別出現的次數。問題解決 採用遞迴求解統計每乙個數字0,1,2,9出現的次數累加。源 include stdafx.h include int results 10 void count ...

統計數字問題

目錄 問題描述 演算法設計 資料輸入 結果輸出 課後答案 有人將其稱為 補0遞迴法 舉例說明 666 完整 執行結果 一本書的頁碼從自然數1開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多於的前導數字0.例如,第6頁用數字6表示,而不是06或006等。數字計數問題要求對給定書的...