(1)、問題描述1.暴力法一本書的頁碼從自然數1 開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如,第6 頁用數字6 表示,而不是06 或006 等。數字計數問題要求對給定書的總頁碼n,計算出書的全部頁碼中分別用到多少次數字0,1, 2,…,9。
(2)、演算法設計
給定表示書的總頁碼的10 進製整數n (1≤n≤10 ) 。程式設計計算書的全部頁碼中分別用到多少次數字0,1,2,…,9。
#includeusing namespace std;
int main();
int n;
cin>>n;
for(int i=1;i<=n;i++)
} for(int i=0;i<=9;i++)
cout<#include using namespace std;
int c[10];
//獲取位數
int get_length(int num)
//獲取最高位
int get_highest(int num)
//獲取除去高位的餘數
int get_remainder(int num)
//n位數多出的零的個數
int get_zeronum(int n)
//遞迴解決流程
void solve(int num)
int len = get_length(remainder);
if (len != length - 1)
c[0] = c[0] - get_zeronum(length - 1);
return solve(remainder);
}int main()
return 0;
}
數字統計問題
一本書的頁碼從自然數 1 開始順序編碼直到自然數 n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字 0。例如,第 6 頁用數字 6 表示,而不是 06 或 006 等。數字計數問題要求對給定書的總頁碼 n,計算出書的全部頁碼中分別用到多少次數字0,1,2,9。程式設計任務 給定表示書的總...
數字統計問題
演算法設計 給定表示書的總頁碼的十進位制整數n 1 n 10 9 計算書的全部頁碼中分別用到多少次數字數字0,1,2,9.輸入 11 輸出 141 1111 11題解 數論 找規律 看到這種題,dfs把數重新組合複雜度比直接暴力列舉還要高,沒用。只能找規律,重新劃分區間才有可能。首先根據排列組合原理...
統計數字問題
在王曉東編著的 演算法設計與實驗題解 中看到的這個問題,問題描述如下 一本書的頁碼從自然數1開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如第6頁用6表示而不是06或006。數字統計問題要求對給定書的總頁碼,計算出書的全部頁碼中分別用到多少次數字0,1,2,...