要期末考試了,陶陶在看書複習,看著看著就走神了,他注意到書的每頁都乙個頁碼,而且頁碼都是阿拉伯數字,於是他就想知道乙個很糾結的問題,就是從1到n頁,阿拉伯數字1一共出現多少次。
輸入只有一行乙個整數n(1<=n<=50000)
輸入阿拉伯數字1出現的次數
30
13
sdnu acm-icpc 2011複賽(2010級)
這道題引發思考對於x【1,9】,輸入乙個整數n,計算1---n時,x出現次數。
參考部落格
如果使用列舉的話,會使時間複雜度很高,所以直接在n上運用數學公式計算。
思路:對於n,考慮各個位上x出現的個數。
設每個位為i,即個位 i = 1,十位 i = 2,以此類推。
n每增加10,個位出現一次
n每增加100,十位出現10次 ……
發現規律n每增加10ei,i位上增加10ei-1次。
但是每個位上會出現比x大,比x小,和x相等的情況,寫**要注意。
針對x = 1
#include #include using namespace std;
int main()
printf("%d\n", sum);
return 0;
}
sdnu1024 糾結的頁碼問題
1024.糾結的頁碼問題 time limit 1000 ms memory limit 32768 kb total submission s 230 accepted submission s 138 description 要期末考試了,陶陶在看書複習,看著看著就走神了,他注意到書的每頁都乙個...
SDNU 1014 書的頁碼問題
time limit 1000 ms memory limit 32768 kb total submission s 1109 accepted submission s 256 description 對於一本共有n頁的書,它的頁碼從1開始編號,一直到n,頁碼中沒有無用的0,則該書頁碼中分別共用...
糾結的問題
1.工具類中,配置,資料庫連線,日誌等這些系統基礎性的變數或常量,通過引數的方式傳入好,還是通過import匯入好?引數傳入的好處 該工具類與當前系統的依賴性比較低,可以很容易地把該工具類移植到其他系統,import匯入的好處,工具類的上層不需要關注太多配置,資料庫連線和日誌這些東西,也就是呼叫介面...