一本書的頁碼從自然數1 開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如,第6 頁用數字6 表示,而不是06 或006 等。數字計數問題要求對給定書的總頁碼n,計算出書的全部頁碼中分別用到多少次數字0,1,2,…,9。給定表示書的總頁碼的10 進製整數n (1≤n≤109) 。程式設計計算書的全部頁碼中分別用到多少次數字0,1,2,…,9。
輸入只有1 行,給出表示書的總頁碼的整數n。
輸出共有10行,在第k行輸出頁碼中用到數字k-1 的次數,k=1,2,…,10。14
方法二:寫遞迴函式,分別求最高位,一位位破解
#include
#include
#include
using namespace std;
intmain()
//去掉前導0
for(i=
0;i)count[0]
-=pow(
10.0
,i);
for(i=
0;i<
10;i++
)printf
("%d\n"
,count[i]);
}return0;
}
全網找了半天題解,最後找到這個大佬的解答
統計數字問題
在王曉東編著的 演算法設計與實驗題解 中看到的這個問題,問題描述如下 一本書的頁碼從自然數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...
統計數字問題
問題描述 給定乙個整數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 ...