問題描述:
一本書的頁碼從自然數 1 開始順序編碼直到自然數 n。書的頁碼按照通常的習慣編排,
每個頁碼都不含多餘的前導數字 0。例如,第 6 頁用數字 6 表示,而不是 06 或 006 等。數
字計數問題要求對給定書的總頁碼 n,計算出書的全部頁碼中分別用到多少次數字 0,1,
2,…,9。
程式設計任務:
給定表示書的總頁碼的 10 進製整數 n (1≤n≤109
) 。程式設計計算書的全部頁碼中分別用
到多少次數字 0,1,2,…,9。
資料輸入:
輸入資料由檔名為 input.txt 的文字檔案提供。
每個檔案只有 1 行,給出表示書的總頁碼的整數 n。
結果輸出:
程式執行結束時,將計算結果輸出到檔案 output.txt 中。輸出檔案共有 10 行,在第 k 行
輸出頁碼中用到數字 k-1 的次數,k=1,2,…,10。
輸入檔案示例 輸出檔案示例
input.txt output.txt
11 141
1111
111
#include #include #include int main()
}for(i=0; i<10; i++)printf("%d\n",a[i]);
return 0;
}
演算法實現題 統計數字
一本書的頁碼從自然數 1 開始順序編碼直到自然數 n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字 0。例如,第 6 頁用數字 6 表示,而不是 06 或 006 等。數字計數問題要求對給定書的總頁碼 n,計算出書的全部頁碼中分別用到多少次數字 0,1,2,9。給定表示書的總頁碼的 10...
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 1統計數字問題(詳解)
題目描述 從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...