洛谷P1179 數字統計

2022-08-29 17:33:19 字數 804 閱讀 8759

然後我們再看一看此題的資料範圍:1≤l≤r≤100000,所以用n log n的複雜度是可以過的。

我們只需列舉[l,r]區間內每個數字裡共出現了多少個2.
first,列舉每個數字就不必多說了:

for(int i = l ; i <= r ; i++)//i即為我們列舉的數字

second,對於每個數字i,統計2出現的次數時,我們需要一位一位去判斷,具體方法見例子:

如數字123456,我們想一位一位取出來,不難想到,我們將123456%10後的結果就是數的最後一位->6.

那麼,我們又該如何判斷下一位呢?只需將數字÷10就可以將最後一位->6給捨去了,按這樣重複計算,知道數字為0為止,**如下:

while(num != 0)

執行結果如下圖:

顯而易見,這樣就實現了數字拆分。

完整**如下:

#includeusing namespace std;

int l , r , ans;

int main()

sum /= 10;//將最後一位捨去

} }printf("%d" , ans);

return 0;

}

洛谷P1179 數字統計(模擬水題)

請統計某個給定範圍 l,r l,r l,r 的所有整數中,數字 222 出現的次數。比如給定範圍 2,22 2,22 2,22 數字2 22 在數 22 2 現了 111 次,在數12 1212 現 111 次,在數 202020 現 11 1次,在數 21 現 111 次,在數 222222 現 ...

洛谷 P1179 數字統計 C 三種寫法總結

以前刷力扣的時候用過atoi函式,但是好像這道題沒必要吧 今天刷洛谷的時候,看見一道數字統計,這麼簡單的題目還沒做!天理難容啊,開啟,我相信五分鐘就敲完了,我打算改進 下面是幾種方法,越來越好!以前的 可以這麼寫,但是時間會慢一點,stringstream是簡單,但是很耗時 include incl...

洛谷 P1097 統計數字

某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 10 9 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入格式 輸入檔案count.in包含n 1行 第一行是整數n,表示自然數的個數 第2 n 1每行乙個...