1.如果沒有時限的話就壹個壹個枚舉過來計算統計;有時限的話首先可以考慮打表。(不過10^9比較痛苦)
現場做的話這樣考慮,動規。a〔i〕[j]表示從10^(i-1)到10^i-1頁數中數碼j有幾個(就是i位數頁數中數碼j有幾個)。用a[i][j]可以推a[i+1][j],最後還要稍稍處理壹下。
2.經典的排序丫,數據很小,n^2排序都可以。編程方便就用冒泡吧,用插入排序也可以。快排對於小數據就失去意義了。
3.直接構造。先找第壹位。比如10,找離他最近的三的冪次,就是9,於是r進制第三位(表示3^2)就是1;接下來原數減去這個冪次,就是1,再找離它最近的三的冪次,是9,於是r進制第壹位(表示3^0)就是1,1減去1,變成0了,就可以了。
沒有構造到的r進制位數就是0。
負數也壹樣,只不過取的是"-",比如-3,離它絕對值最近三的冪次是3,於是r進制第2位(表示3^1)就是“-”,接下來-3-(-3)=0,就結束了。
鄙視妳我說了解題思路妳都不能打程序還參加什麽競賽。另外,妳們考試沒有標程還叫什麽考試?要標程當然自己去競賽組委會要,我寫壹個程序給妳又有什麽意義?