一本書的頁碼從自然數
1 開始順序編碼直到自然數
n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字
0。例如,第
6 頁用數字
6 表示,而不是
06 或
006
等。數字計數問題要求對給定書的總頁碼
n,計算出書的全部頁碼中分別用到多少次數字0,
1,2,
…,9。
程式設計任務:給定表示書的總頁碼的
10 進製整數
n (1≤n≤10^9)
。程式設計計算書的全部頁碼中分別用到多少次數字0,
1,2,
…,9。
輸入:每個輸入只有
1 行,給出表示書的總頁碼的整數n。
輸出:程式執行結束時,輸出有
10行,在第
k行輸出頁碼中用到數字
k-1
的次數,
k=1,2,
…,10。
#include
<
iostream
>
#include
<
string
>
#include
<
sstream
>
#include
<
cmath
>
#include
<
vector
>
using
namespace
std;
double
string_to_num(
string
str)
intmain() ;//
儲存統計結果
vector
<
int>
posnum;
string
pagenum;
cin>>
pagenum;
double
num
=string_to_num(pagenum);
len
=pagenum.size();
if( len
<=1)
else if
( !posnum.empty() )
}
posnum.push_back(curposnum);
if( i ==0
)
} else
for(intn =
1; n
<=
curposnum; n
++) }
} }
} for
(inti =
0; i
<
10; i
++)
return0;
}
數字統計問題
演算法設計 給定表示書的總頁碼的十進位制整數n 1 n 10 9 計算書的全部頁碼中分別用到多少次數字數字0,1,2,9.輸入 11 輸出 141 1111 11題解 數論 找規律 看到這種題,dfs把數重新組合複雜度比直接暴力列舉還要高,沒用。只能找規律,重新劃分區間才有可能。首先根據排列組合原理...
數字統計問題
1 問題描述 一本書的頁碼從自然數1 開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如,第6 頁用數字6 表示,而不是06 或006 等。數字計數問題要求對給定書的總頁碼n,計算出書的全部頁碼中分別用到多少次數字0,1,2,9。2 演算法設計 給定表示書的總...
統計數字問題
在王曉東編著的 演算法設計與實驗題解 中看到的這個問題,問題描述如下 一本書的頁碼從自然數1開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如第6頁用6表示而不是06或006。數字統計問題要求對給定書的總頁碼,計算出書的全部頁碼中分別用到多少次數字0,1,2,...