1 1統計數字問題(詳解)

2021-08-17 09:08:52 字數 694 閱讀 5042

題目描述:從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...